$_POST Array löschen

zempsit

Erfahrenes Mitglied
Gibt es eine Variante das $_POST Array zu löschen, damit ein Benutzer, nachdem er das Formular ausgefüllt hat, nicht einfach auf F5 drücken kann und alles vollspamt?

Mit unset() geht es jedenfalls nicht.

mfg zempsit
 
Leite einfach, nachdem du die Daten ausgewertet hast, mit header() auf die gleiche Seite nochmals um. Wenn du vor header() schon etwas ausgegeben hast, musst du die Ausgabe puffer (ob_start());

Hier noch ein kleines Beispiel
PHP:
ob_start(); #Falls eine Ausgabe vor dem Header unten erfolgt. Ansonsten kann das weg.

#POST Daten verarbeiten
foreach($_POST as $key=>$value)
{
    echo $key.": ".$value."<br>"; #Hier hätten wir z.B. solch eine Ausgabe!!
}

header("Location: ".$_SERVER['PHP_SELF']);

ob_end_flush(); #Falls eine Ausgabe vor dem Header erfolgte und darum ob_start() gesetzt wurde, musst du das gepufferte natürlich auch wieder rauslassen!
 
Zuletzt bearbeitet:
Captchas schützen jedoch nicht vor dem nicht-gewünschten Wiederholen einer Post-Anfrage des Browsers, Stefen. Fanstes Vorschlag geht schon in die richtige Richtung.
 
Gumbo hat gesagt.:
Captchas schützen jedoch nicht vor dem nicht-gewünschten Wiederholen einer Post-Anfrage des Browsers, Stefen. Fanstes Vorschlag geht schon in die richtige Richtung.
Ich heiße aber nicht Stefen. :) Wenn ich den CAPTCHA Wert aber in ne Session pack und die Session- Var nach dem abschicken lösche schon! :) Ist auf jeden Fall schneller, als ne Seite nochmal neu zu laden die die riesen Querys ausliest... Selbst wenn man das ganze cached...
 
Zuletzt bearbeitet:
Mach doch einfach folgendes:

Wenn der user das formular betritt
eine Session-Variable setzten...
wenn er es dann abschickt, nur abschicken wenn die session-Variable nich leer ist, und dann die session-Variable leeren
 
grkpfl hat gesagt.:
Mach doch einfach folgendes:

Wenn der user das formular betritt
eine Session-Variable setzten...
wenn er es dann abschickt, nur abschicken wenn die session-Variable nich leer ist, und dann die session-Variable leeren

Das würde er ja denn mit dem CAPTCHA machen, hat er gleichzeitig auch noch nen kleinesn Schutzt gegen dos. :)
 
Aber wie kann ich dann das mit dem Header anstellen. Weil in der ersten Zeile muss ja der Dokument-Type stehen?

mfg zempsit
 
Bei einer Umleitung mittels „Location“-Header-Feld ist das Senden des Inhalts unnötig, da er nicht dargestellt wird. Daher ist auch eine Klassifizierung mittels Media-Typs unnötig.
 
Zurück