Verhindern das Formulare zweimal abgesendet werden, mit einem kleinen Trick und einer Session ist es ganz leicht.

Es ist ärgerlich, wenn ein PHP−Script bei einem Seitenrefresh erneut ausgeführt wird, Abhilfe schafft ein kleiner Trick mit einer Session und einem hidden Inputfeld.

<form action="" method="POST" accept−charset="ISO−8859−1">
<input type="hidden" name="ticket" value="&.rand(0,10000000).&">
</form>

Dem Form geben wir ein Inputfeld mit dem Namen ticket, rand(0,1000000) erstellt eine zufällige Zahl von 0−1000000, das sollte ersteinmal reichen :)

if( $_POST[&ticket&] !== $_SESSION[&ticket&]):
#anweisungen#
$_SESSION[&ticket&] = $_POST[&ticket&];
endif;

In einer If−Abfrage wird zuersteinmal Abgefragt, ob die Ticketnummer sich von der in der Session gespeicherten Nummer unterscheidet.
tut Sie es, kann mit dem Verarbeiten des Formulars begonnen werden.

$_SESSION[&ticket&] = $_POST[&ticket&]

Speichert die momentan übermittelte Zahl in der Session, so daß ein Refresh im Browserfenster keinen Schaden mehr anfügen kann :)

Ich nutze diesen kleinen Trick vorallem bei Emailformularen mit Captcha.
Diesen Artikel empfehlen bei:
 
  Kommentare  
Es sind noch keine Kommentare vorhanden. Um diesen Artikel zu kommentieren und zu bewerten, melden Sich sich einfach an.
Wir übernehmen keinerlei Verantwortung für enstandene Schäden beim Befolgen des Inhalts der Themen, Anleitungen oder Tipps.
home
  Login  
 
  Top24  
IMPRESSUM NUTZUNGSBEDINGUNGEN KONTAKT