Captcha in Formular include

smyle

Erfahrenes Mitglied
Hallo
Hoffe jemand kann mir helfen...

Ich habe eine captcha.php erstellt. dies Funktioniert auch problem los. Dann habe ich noch eine 2 Datei erstellt: Formular.php und in dieser Datei habe ich ein Include
include ("Captcha/captcha.php");
gemacht. Ich habe es auch schon mit einem include_once versucht.
Nun kommt leider eine Fehlermeldung im Webbrowser:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programme\xampp\htdocs\HomepagePHP\Formular_captcha.php:14) in C:\Programme\xampp\htdocs\HomepagePHP\Captcha\captcha.php on line 2

Der Code des captcha.php sieht so aus:

<?
session_start();
$captchaValidierungOk = false;

if (ereg('^[a-z]{4}$', $_POST['captcha_code']) && // eingabe syntaktisch korrekt
!empty($_SESSION['captcha_code']) && // code in der session
($_SESSION['captcha_code']==$_POST['captcha_code'])) { // session-code = eingabe-code

$captchaValidierungOk = true;
}

$code = '';
for ($i = 0; $i < 4; $i++) {
$code .= chr(rand(97, 122));
}
$_SESSION['captcha_code'] = $code;
?>

<html>
<head>

<style type="text/css">
h1 {font-family:serif; color:#0033FF; size:auto; text-decoration:blink;}
</style>

</head>
<body>

<table height="85" width="140">
<tr>
<td colspan="2" align="center" background="captcha.PNG"><p><h1><?=$code?></h1></p></td>
</tr>
<form action="" method="post" onSubmit="Senden">
<tr>
<td width="49" height="34"><input type="text" name="captcha_code" size="3" maxlength="4" /></td>
<td width="67"><input type="submit" name="Senden" value="Senden"/></td>
</tr>
</form>
</table>
</body>
</html>

<?


$Senden = $_POST['Senden'];

if($Senden != "")
{
if($captchaValidierungOk) {
?>
<p>Der Sicherheitscode wurde korrekt eingegeben.</p>
<?
} else {
?>
<p>Der Sicherheitscode wurde nicht korrekt eingegeben.</p>
<?
}
}

?>

Meine Frage nun ist: was habe ich falsch gemacht oder was muss ich mache damit das diese Fehlermeldung nicht mehr kommt?
Kann mir hier jemand helfen?
Wäre sehr lieb den ich bin ratlos.

LG
 
Guten Morgen,
Wie die Fehlermeldung schon sagt:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at

Es wurde schon etwas ausgegeben. Nehme mal an der Include steht schon nach einem output. Session-Start am besten in die aufrufende Datei als erstes per
PHP:
<? session_start(); ?>

einbinden.

Grüße ;)
 
Zurück