Rechen-Captcha funzt nicht. Formular wird nicht übertragen.

Hier werden Probleme rund um das Rechen Captcha behandelt

Moderator: frameguard

Rechen-Captcha funzt nicht. Formular wird nicht übertragen.

Beitragvon bodo78 » 17.03.2009, 00:35

Hallo. Ich möchte das Rechen-Captcha in ein selbst gebasteltes Gästebuch einbinden. Ich habe es zwar endlich mal geschafft, dass mir das Bildchen angezeigt wird, aber es werden beim Absenden des Formulars leider keine Daten übertragen, ganz gleich ob der Code eingetragen wird oder nicht.

HIER ist das Gästebuch um das es geht.

Ich habe auch die fehler.php hochgeladen. Hier wird mir folgender Text angezeigt:

Infos über das Captcha

Zahlencode: 2320
Session Captcha: Y2Vrmg

Warning: imagecreatefrompng(captcha.PNG) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /home/ftp13140760-106678/www/data/fehler.php on line 24

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /home/ftp13140760-106678/www/data/fehler.php on line 25
Schriftpfad: /arial.ttf

Warning: imagettftext() expects parameter 1 to be resource, boolean given in /home/ftp13140760-106678/www/data/fehler.php on line 34
Image (Zeichenwirrwar):

Warning: imagepng(): supplied argument is not a valid Image resource in /home/ftp13140760-106678/www/data/fehler.php on line 39

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/ftp13140760-106678/www/data/fehler.php on line 40



Hier ist der Quellcode von den Gästebuch-Dateien:

gaestebuch.php
<?php
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);

if ( !empty ($_POST['name']) ) {

echo "Vielen Dank!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['briefe']) and !empty ($_POST['seite']) and !empty ($_POST['lage']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).' aus '.htmlspecialchars($_POST['lage'], ENT_QUOTES).'
<i><a href="mailto:'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"><img src="images/email.gif" alt="'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"></a>
<a href="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'" target=_blank"><img src="images/homepage.gif" alt="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'"></a><br>
schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}

if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['briefe']) and !empty ($_POST['seite']) and empty ($_POST['lage'])) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).'
<i><a href="mailto:'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"><img src="images/email.gif" alt="'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"></a>
<a href="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'" target=_blank"><img src="images/homepage.gif" alt="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'"></a><br>
schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['briefe']) and !empty ($_POST['lage']) and empty ($_POST['seite']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).' aus '.htmlspecialchars($_POST['lage'], ENT_QUOTES).'
<i><a href="mailto:'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"><img src="images/email.gif" alt="'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"></a><br>
schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['seite']) and !empty ($_POST['lage']) and empty ($_POST['briefe']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).' aus '.htmlspecialchars($_POST['lage'], ENT_QUOTES).'
<i><a href="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'" target=_blank"><img src="images/homepage.gif" alt="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'"></a><br>
schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['lage']) and empty ($_POST['briefe']) and empty ($_POST['seite']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).' aus '.htmlspecialchars($_POST['lage'], ENT_QUOTES).'<br>
<i>schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['briefe']) and empty ($_POST['lage']) and empty ($_POST['seite']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).'
<i><a href="mailto:'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"><img src="images/email.gif" alt="'.htmlspecialchars($_POST['briefe'], ENT_QUOTES).'"></a><br>
schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and !empty ($_POST['seite']) and empty ($_POST['briefe']) and empty ($_POST['lage']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).'
<i><a href="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'" target=_blank"><img src="images/homepage.gif" alt="'.htmlspecialchars($_POST['seite'], ENT_QUOTES).'"></a><br>
schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( !empty ($_POST['ruf']) and !empty ($_POST['nachrichtenfeld']) and empty ($_POST['seite']) and empty ($_POST['briefe']) and empty ($_POST['lage']) ) {

$daten = '
<fieldset>
<legend>
'.htmlspecialchars($_POST['ruf'], ENT_QUOTES).' <i>schrieb am '.date('d.m.Y \u\m H:i').' Uhr</i>
</legend>
'. nl2br(htmlspecialchars($_POST['nachrichtenfeld'], ENT_QUOTES)) .'
</fieldset>
';

$ruf = $_POST['ruf'];
$datenbank = "gaestebuch.dat";
$target = fopen($datenbank,"r+");
if ( false===$target && !file_exists($datenbank)) {
$target = fopen($datenbank,"w+");
}
if ( false===$target ) {
die('Fehler beim Öffnen der Datei');
}
$tmp = tmpfile() or die('Fehler beim Erstellen der temporären Datei');

stream_copy_to_stream($target, $tmp);
fflush($tmp);

if ( 0!==fseek($target, 0, SEEK_SET) || 0!==fseek($tmp, 0, SEEK_SET)) {
die('Fehler beim Setzen des Dateizeigers');
}

fwrite($target, $daten);
stream_copy_to_stream($tmp, $target);

fclose($target);
fclose($tmp);
echo "Vielen Dank $ruf. Ihr Eintrag wurde erfolgreich ausgef&uuml;hrt!<br><br><br>";
}

elseif ( empty ($_POST['ruf']) and empty ($_POST['nachrichtenfeld']) and empty ($_POST['seite']) and empty ($_POST['briefe']) and empty ($_POST['lage']) ) {
}

}

?>

<p><a href="index.php?p=daten/gaestebuch-eintragen">Ins G&auml;stebuch eintragen!</a></p>

<?php
$datenbank = "gaestebuch.dat";
readfile($datenbank);
?>



gaestebuch-eintragen.php
<form method="post" action="index.php?p=daten/gaestebuch">
<fieldset>
<legend>Ins G&auml;stebuch eintragen:</legend>
<p class="small">Wird ein Pflichtfeld nicht ausgef&uuml;llt, findet keine Eintragung in das G&auml;stebuch statt!</p>
<table>
<tr>
<td>Name : * </td>
<td><input type="text" name="ruf" /></td>
</tr>
<tr>
<td>Wohnort : </td>
<td><input type="text" name="lage" /></td>
</tr>
<tr>
<td>E-Mail : </td>
<td><input type="text" name="briefe" /></td>
</tr>
<tr>
<td>Homepage <i>(mit http://)</i> : </td>
<td><input type="text" name="seite" /></td>
</tr>
<tr>
<td><img src="rechen-captcha.php"></td>
<td><input type="text" name="sicherheitscode" size="5"></td>
</tr>
<tr>
<td>Kommentar : * </td>
<td><textarea name="nachrichtenfeld"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="button" value="Eintragen" /></td>
</tr>
</table>
<p>* = Pflichtfeld</p>
</fieldset>
</form>



index.php
<?php
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
</head>

<body onload="load()" onunload="GUnload()">
<a name="up"></a>

<div id="page_wrapper">
<div class="page_padding">
<div id="header">
</div>
<div id="menu_container">
<div class="spacer">
</div>
</div>
<div id="shadow_nav">
</div>
<div id="center_section">
<div id="content_wrapper">
<div id="content_column">
</div>
</div>
<div id="right_column">
<div class="search">
</div>
<div class="counter">
</div>
<div class="counter">
</div>
<div class="counter">
</div>
</div>
<div class="spacer">
</div>
</div>
<div id="footer">
</div>
</div>
</div>
</body>
</html>



Ich hoffe mir hat einer von Euch eine Lösung für das Problem.
bodo78
 
Beiträge: 1
Registriert: 16.03.2009, 23:00

Zurück zu Rechen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron