erst einmal ein riesiges Danke für Euer Captcha script!
Funktioniert ganz gut!
habe da aber noch ein kleines Problem! Ich habe das Captcha in ein bestehendes Gästebuch eingebaut, das nicht von mir stammt.
http://www.piccolo-cottbus.de/piccolo-t ... tebuch.php
Das Captcha funktioniert! aber wenn ich einen falschen bzw. gar keinen Code eingebe, komme ich nicht zurück zum gästebuch sondern immer nur in eine Leere weiße seite!!!
Vielleicht kann mir ja jemand helfen!!!!
das Gästebuch besteht aus 2 dateien:
1. gaestebuch.php
2. gaestebuch_add.php
und hier mal der quelltext!
1. "gaestebuch_add.php"
<?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"], "58S4j90Tv");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if($sicherheits_eingabe == $_SESSION['captcha_spam'])
{
/**
* Definition von Standardwerten
*/
$cfg["Path"]["Root"] = "../";
$page_title = "Gästebuch - piccolo Tanzhaus";
/**
* Includes
*/
include ($cfg["Path"]["Root"]."includes/main.conf.php");
/**
* Datenverarbeitung
*/
$name = (isset ($_POST["name"])) ? trim (strip_tags (stripslashes ($_POST["name"]))) : "";
$email = (isset ($_POST["email"])) ? trim (strip_tags (stripslashes ($_POST["email"]))) : "";
$body = (isset ($_POST["body"])) ? strip_tags (stripslashes ($_POST["body"])) : "";
$ip = $_SERVER["REMOTE_ADDR"];
/* Suche einen Eintrag für die gleiche IP, der innerhalb von 10min liegt */
$sql = "SELECT COUNT(*) AS row FROM tanzhaus_gbook WHERE Zeit > DATE_SUB(NOW(), INTERVAL 10 MINUTE)";
$db->query ($sql);
if (mysql_result ($db->result, 0, "row") > 0)
{
header ("Location: gaestebuch.php?code=error");
}
elseif (($name == "") or (trim ($body) == ""))
{
header ("Location: gaestebuch.php?code=nodata");
}
else
{
/* Eintrag in die Datenbank schreiben */
$sql = "INSERT INTO tanzhaus_gbook ".
"(Name, eMail, Langtext, Zeit, IP) ".
"VALUES (".
"'$name', ".
"'$email', ".
"'$body', ".
"NOW(), ".
"'$ip' ".
")";
$db->query ($sql);
//echo $sql;
header ("Location: gaestebuch.php?code=success");
}
unset($_SESSION['captcha_spam']);
}
?>
2. "gaestebuch.php"
<?php
$cfg["Path"]["Root"] = "../";
$standard_openpage = "tanzhaus_gaestebuch.tpl";
$page_title = "Gästebuch";
/**
* Includes
*/
include ($cfg["Path"]["Root"]."includes/main.conf.php");
/**
* Datenverarbeitung
*/
$code = (isset ($_REQUEST["code"])) ? $_REQUEST["code"] : "";
/* Alle Einträge aus der Datenbank holen */
$sql = "SELECT ".
"Name AS name, ".
"eMail AS email, ".
"Langtext AS body, ".
"Antwort AS answer, ".
"DATE_FORMAT(Zeit, '%d.%m.%Y') AS datum, ".
"DATE_FORMAT(Zeit, '%H:%i') AS uhrzeit ".
"FROM ".
"tanzhaus_gbook ".
"ORDER BY ".
"Zeit DESC";
$db->query ($sql);
/**
* Templates
*/
$tpl = new TemplatePower ($cfg["Path"]["Templates"]."main_tanzhaus.tpl");
/**
* Includes
*/
$tpl->assignInclude ("document_content", $cfg["Path"]["Templates"].$standard_openpage);
$tpl->prepare ();
/**
* Globale Zuweisungen
*/
include ($cfg["Path"]["Includes"]."globalassigns.php");
include ($cfg["Path"]["Includes"]."tanzhaus_globalexecutes.php");
/**
* Normale Zuweisungen
*/
/**
* Blöcke
*/
if ($db->results_count > 0)
{
while ($data = $db->get_LineArray ())
{
$tpl->newBlock ("items");
$tpl->assign ("NAME", htmlentities (stripslashes ($data["name"])));
$tpl->assign ("DATUM", htmlentities (stripslashes ($data["datum"])));
$tpl->assign ("UHRZEIT", htmlentities (stripslashes ($data["uhrzeit"])));
$tpl->assign ("BODY", nl2br (htmlentities (stripslashes ($data["body"]))));
$tpl->assign ("ANSWER", ($data["answer"] != "") ? ("<p class=\"text\"><i><b>Antwort vom piccolo Tanzhaus:</b><br />".nl2br (htmlentities (stripslashes ($data["answer"])))."</i></p>") : "");
if ($data["email"] != "")
{
$tpl->assign ("EMAIL", "<p class=\"text\"><a href=\"mailto:".$data["email"]."\">mail</a></p>");
}
}
}
if ($code == "success")
{
$tpl->newBlock ("ok");
}
elseif ($code == "error")
{
$tpl->newBlock ("time");
}
elseif ($code == "nodata")
{
$tpl->newBlock ("nodata");
}
/**
* Ausgabe
*/
$tpl->PrintToScreen ();
?>
