Seite nur einemal senden

darknet

Mitglied
Hallo Gemeinschaft,

ich habe mal wieder n kleines Prob und weiss nicht wie ich weiter komme.
Wie kann ich es verhindern das ein Formular 2 mal gesendet wird.
Bisher stellt sich das Problem so dar das ich das Formular sende und dann auf einen anderen Menüpunkt klicke. Gehe ich dann mit über die Browser Navigation zurück, wird das Formular nocheinmal gesendet (das selbe Problem habe ich auch wenn ich auf aktualisieren klicke).

Wie kann ich das abfangen?

Mfg
Dark :confused:
 
Mhm das Problem hatte ich auch schon mal , bei mir ging es dabei aber um einen Eintrag in ein Gästebuch.

Also hab ich geschaut ist der letzte Eintrag in der Datei == dem Eintrag der eben ankommt. Wenn dies der Fall war sollte er nix reinspeichern.

Andernfalls kann man eine Weiterleitung machen , was natürlich bei einigen Formularen quatsch ist , so wie danke für den Eintrag hier geht es zurück , damit werden die $_POST[""] Variablen alle gelöscht.

Andernfalls könnte ich mir auch vorstellen die Werte die gesendet wurden in einer Session Variablen zu speichern und diese mit dem aktuellen $_POST[""] Werten zu überprüfen.

Kommt halt darauf an was mit dem Formular passieren soll nachdem es gesendet wurde.

refresh schutz bei meinen GB sieht so aus

PHP:
    function refresh()
    {
      $false = 0;
      $eintraege = "";
    	if(is_file("gb.txt") && $_POST["comment"] != "" && $_POST["UserName"] != ""){
    	  $file = fopen("gb.txt", "r");
    		while(!feof($file)){
    		   $eintraege . = fgets($file , 255);
    	   }
    	   $eintraege = explode("|##|" , $eintraege);
    	   if(isset($_POST["comment"]) && $_POST["comment"] != ""){
   		 if(stristr ($eintraege[0] , $_POST["comment"])){
    				$false = 1;
    			}
    		}// If Schleife zu
    	}
    	else
    	{
    		$false=1;
    	}
    	return $false;
    }
 
Zuletzt bearbeitet:
Zurück