Altbekannt aber nichts gefunden... Browser aktualisieren

Schänk

Mitglied
Moin

Ich hab schon das ganze Forum durchsucht aber leider keine wirklich passende Antwort auf mein Problem gefunden.

Ich möchte gerne verhindern, dass mit der Browseraktualisierung die zuvor per POST eingetragnen Daten nochmal eingetragen werden. (Ich weiss, altbekanntes Problem)

header(); hat den Sinn fast erfüllt, nur muss dieser ja ganz am Anfang stehen. So wurde die Site aktualisiert, bevor die Daten eingetragen wurden.

Hier ein Ausschnit meiner switch-case Abfrage:

PHP:
 case "zeitenNeu";
  // Prueft die Angaben auf Korrektheit
  $checkDate = $datecheck->checkDatum($dateTag,$dateMonat,$dateJahr);
  $checkTime = $datecheck->checkTime($timeStdStart,$timeMinStart,$timeStdEnde,$timeMinEnde);

  // Wenn alle Angaben korrekt waren, wird das Script weiter ausgefuehrt
  if($checkDate == true && $checkTime == true) {  
   $date  = mktime(0,0,0,$dateMonat,$dateTag,$dateJahr);	// Gibt das Datum in einem Timestamp zurueck
   $start = mktime($timeStdStart,$timeMinStart,0);			// Gibt die Startzeit als Timestamp zurueck
   $ende  = mktime($timeStdEnde,$timeMinEnde,0);			// Gibt die Endzeit als Timestamp zurueck

   $queryInsertTime = "INSERT INTO zeiten(auftragID, zeitDate, zeitStart, zeitEnde)";
   $queryInsertTime.= "VALUES('$auftragID', '$date', '$start', '$ende')";
   $sql->query($queryInsertTime);
  }
  break;

Wie bringe ich es fertig, dass die Site erst neu geladen wird, wenn die Daten eingetragen wurde?

thx


Greetz Schänk
 
Wenn du die Daten da nur einträgst, dann kann der header() auch am Ende stehen... die Hauptsache ist, dass vor dem header() keine Ausgabe an den Browser erfolgt... was bei einem Query normalerweise auch nicht geschieht.
 
Hab schon probiert den Header unter das Query zu setzen, nur mault dann der Browser von wegen der Header wurde schon gesendet...

Was zählt den so alles zu einer "Ausgabe an den Browser"?
 
Ausgabe ist alles, was ausserhalb der PHP-Tags steht, oder per echo, print usw. ausgegeben wird.
Es reicht also schon ein Leerzeichen/Zeilenumbruch vor dem ersten PHP-Tag.
 
Tja, da hatte ich einiges vorher... Alleine schon die HTML Tags und JavaScripts im Head.
Aber was solls, ist zwar nicht eine ganz so schöne Lösung welche ich jetzt habe aber es funktioniert.

Danke dir
 
Zurück