ich wollt in meinem Gästebuch eine Zeitsperre von 5 Minuten mit Cookies gegens Spamen machen! Nach dem 1. Eintrag wird eine Variable auf 1 gesetzt, wenn die Variable auf 1 ist der Cookie gesetzt, und wenn der Cookie gesetzt ist, soll das Eintragen nicht mehr klappen..tut es aber nicht ganz! Man kann sich 2 Mal Eintragen, erst dann ist Ende! Woran kann das liegen? Ich hab das Problem auf ein ganz einfaches GB auf Textbasis übertragen und auch dort tritt das auf :/ Helft mir bitte!
Zitat
<?php session_start();
if($_SESSION["ip"] == 1) {
setcookie("sip",zeitsperre,time()+(60*5)); }
else{}
if($_COOKIE["sip"] == True) {
echo "Du hast dich bereits eingetragen! Warte 5 Minuten!"; }
else {
if($_POST['sent']=="Senden")
{
$_SESSION["ip"] = 1;
echo "Eintrag erfolgreich!";
}
$_POST['message']=str_replace('~','',$_POST['message']);
$_POST['message']=strip_tags($_POST['message']);
$handle=fopen('gaestebuch.txt','a');
$text=$_POST['name']."~".$_POST['betreff']."~".$_POST['message']."|";
fwrite($handle, $text);
fclose($handle);
}
php?>
<body>
<form method="POST" action="gb.php">
Name:
<input type="text" name="name" size="30" title="Gib deinen Namen an">
<br />
<br />
Betreff:
<input type="text" name="betreff" size="30" title="Betreff">
<br />
<br />
Nachricht:
<textarea name="message" cols="30" rows="10" title="Nachricht eingeben"></textarea>
<br />
<input type="submit" name="sent" value="Senden" title="Abschicken" >
</form>
</body>
if($_SESSION["ip"] == 1) {
setcookie("sip",zeitsperre,time()+(60*5)); }
else{}
if($_COOKIE["sip"] == True) {
echo "Du hast dich bereits eingetragen! Warte 5 Minuten!"; }
else {
if($_POST['sent']=="Senden")
{
$_SESSION["ip"] = 1;
echo "Eintrag erfolgreich!";
}
$_POST['message']=str_replace('~','',$_POST['message']);
$_POST['message']=strip_tags($_POST['message']);
$handle=fopen('gaestebuch.txt','a');
$text=$_POST['name']."~".$_POST['betreff']."~".$_POST['message']."|";
fwrite($handle, $text);
fclose($handle);
}
php?>
<body>
<form method="POST" action="gb.php">
Name:
<input type="text" name="name" size="30" title="Gib deinen Namen an">
<br />
<br />
Betreff:
<input type="text" name="betreff" size="30" title="Betreff">
<br />
<br />
Nachricht:
<textarea name="message" cols="30" rows="10" title="Nachricht eingeben"></textarea>
<br />
<input type="submit" name="sent" value="Senden" title="Abschicken" >
</form>
</body>
Dieser Beitrag wurde von Flosse bearbeitet: 27. März 2006 - 08:05