Formulardaten nach Eintrag in DB "löschen"?

Caralynn

Mitglied
Hallo,

Eigentlich steht ja schon alles in der Überschrift. Wie schaffe ich es, dass nach dem Absenden eines Links mit angehängten Daten (und nach dem Eintrag der Daten) verhindert wird, dass beim Neuladen der Seite, die Daten ein zweites Mal eingetragen werden?

Habe es schon mit einem Header probiert, mag aber nicht so recht, da mal wieder output gesendet worden ist.
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/xxx/xxx/checkuser.php:8) in /www/htdocs/xxx/xxx/reserve.php on line 141
(nur mit header())

Oder:

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/xxx/xxx/reserve.php:143) in /www/htdocs/xxx/xxx/reserve.php on line 146
(include in if-else-konstrukt, header(), userueberpruefung nicht includet)

Im Grunde ist mir die Fehlermeldung klar, liegt eben an der zu Beginn des Scriptes includeten Datei... aber kann man das irgendwie lösen? Wenn ich die Datei selbst einfüge, dann ist der Fehler in der nächsten includeten Datei, aber die ist "notwendig", weil die das Design der Seite beinhaltet und für die Ausgabe nach der ersten Überprüfung brauche ich die... und wenn ich es in das if-else-konstrukt packe, wirds auch nicht besser :(


PHP:
if($kontostand<0)
    {
    include($absolutchen.$headervar.$skin.$extension); 
    echo("Ausgabe");
    exit();
    }
else
    {
    //Daten werden verarbeitet... 
    }


Zeile 143/146 sind Teil der Header-Anweisung übrigens:

PHP:
<?php
/* Redirect to a different page in the current directory that was requested */
$extra = "bought.php?g=".$geschlecht."&r=".$rassename."&f=".$farbname."";
header("Location: http://www.xxx.de/".$extra."");
exit();
?>
Uhm ja... werde jetzt noch weiterprobieren, aber das muss doch irgendwie gehen :eek:

Verlorene Grüße,
Cara
 
Ja, daran gedacht schon, nachdem auf der englischen php.net-seite etwas davon stand - komischerweise lande ich immer nur auf der englischen php.net-seite und so umwerfend sind meine Englischkenntnisse wohl nicht, hab die Erklärung schlichtweg nicht verstanden :-(

In meinem Fall setze ich wohl am Anfang ob_start(); und nach dem header() dann ob_end_flush(); ?


Lg,
cara
 
Zurück