ich würde gern mein Gästebuch mit dem Captcha gegen Spam sichern. Leider funktioniert das gar nicht: Sobald ich die entspr. Code-Teile einbaue, verschwinden die Einträge in meinem GB. Sichtbar bleibt nur der obere Teil mit den Eingabefeldern, dem Senden-Button und dem Captcha.
Ich habe jetzt viel rumprobiert; geschweifte Klammern verschoben usw. Aber es klappt nicht: Entweder sind keine Einträge sichtbar oder es können keine hinzugefügt werden oder das Captcha versagt.
Was kann ich tun?
Unten findet ihr den Code.
Danke, Pida
- Code: Alles auswählen
<!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="de" lang="de">
<head>
<title>Mein Gästebuch</title>
<?php
include ("kopf.inc")
?>
<form id="gb_form" action="gb0.php" method="post">
<p>Name:<input id="gb_name" type="text" size="25" name="name" /></p>
<p>eMail:<input id="gb_mail" type="text" size="25" name="mail" /></p>
<p>Website:<input type="text" value="http://" size="25" name="url"></p>
<textarea cols="45" rows="8" name="eintrag">
Ihr Eintrag (bitte kein HTML verwenden)
</textarea>
<tr>
<td><img src="captcha.php"></td>
<td><input type="text" name="sicherheitscode" size="4"></td>
</tr>
<input id="gb_submit" type="submit" value="Eintragen">
</form>
<?php
session_start();
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);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "15f7ud93q");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if($sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
$name = $_POST["name"];
$mail = $_POST["mail"];
$url = $_POST["url"];
$eintrag = ($_POST["eintrag"]);
$timestamp = time();
mysql_connect ("db204.puretec.de","dbo169044123","eJFhGRH9")
or die("Verbindungsproblem. Bitte schicken Sie Ihren Eintrag über das Mailformular.");
mysql_select_db("db169044123")
or die("Datenbankproblem. Bitte schicken Sie Ihren Eintrag über das Mailformular.");
$eintrag = "INSERT INTO gaestebuch (name, zeit, mail, url,
eintrag) VALUES ('$name', $timestamp, '$mail',
'$url', '$eintrag')";
$eintragen = mysql_query($eintrag);
?>

