WinFuture-Forum.de: Eintragssperre Im Einfachen Php-gästebuch Funktioniert Nicht Richtig - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Eintragssperre Im Einfachen Php-gästebuch Funktioniert Nicht Richtig Nach dem 1. Eintrag soll Ende sein, klappt aber erst nach dem 2.


#1 Mitglied ist offline   Torben 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.223
  • Beigetreten: 12. August 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hamburg

geschrieben 27. März 2006 - 08:01

Hallo,
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>

Dieser Beitrag wurde von Flosse bearbeitet: 27. März 2006 - 08:05

0

Anzeige



#2 _rjchio_

  • Gruppe: Gäste

geschrieben 27. März 2006 - 11:54

Ist dir bewusst, dass ein Cookie nicht gleich nach dem setzten ausgelesen werden kann? :wink:
Tipp: nachdem du ein Cookie gesetzt hast, kannst du einfach folgendes machen und es klappt:
<?php
header("Location: ".$_SERVER['PHP_SELF']);
?>
Eventuell muss dann dein Script angepasst werden!

MfG rjchio

Dieser Beitrag wurde von rjchio bearbeitet: 27. März 2006 - 11:57

0

#3 Mitglied ist offline   Torben 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.223
  • Beigetreten: 12. August 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hamburg

geschrieben 27. März 2006 - 13:07

<?php
header("Location: ".$_SERVER['PHP_SELF']);
?>

was bringt mir das denn?
0

#4 Mitglied ist offline   stefanra 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.208
  • Beigetreten: 13. September 04
  • Reputation: 1

geschrieben 27. März 2006 - 13:23

Reload der Seite.
0

#5 Mitglied ist offline   axx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 19. Mai 05
  • Reputation: 0

geschrieben 27. März 2006 - 13:23

Das soll heißen, du versuchst in Zeile 5 ein cookie auszulesen, das noch gar nicht gesetzt ist. setcookie() muss erst ausgeführt werden. Eine Möglichkeit ist, die Seite neu zu laden.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0