Hoi zämä,
Mein Problem:
Der Inhalt eines Forumlars (Sitzplatzreservation, ausgewählte Plätze) soll in eine Datenbank gespeichert werden.
Um ein mehrfaches senden durch reload oder Doppelklick auf den Senden-Button zu verindern, überprüfe ich, ob die Werte schon gespeichert sind. Wenn nicht, wird statt speichern eine Fehlermeldung ausgegeben.
Das funktioniert einwandfrei so... - zu mindest im Firefox.
Im IE aber kann ich durch ganz schnelles Klicken auf den Sendenknopf manchmal doch die Werte mehrfach in die Datenbank schreiben.
Wie ist sowas überhaupt möglich?
Gibt's dazu ein Lösungsansatz?
Zum besseren Verständnis mein Code dazu:
Mein Problem:
Der Inhalt eines Forumlars (Sitzplatzreservation, ausgewählte Plätze) soll in eine Datenbank gespeichert werden.
Um ein mehrfaches senden durch reload oder Doppelklick auf den Senden-Button zu verindern, überprüfe ich, ob die Werte schon gespeichert sind. Wenn nicht, wird statt speichern eine Fehlermeldung ausgegeben.
Das funktioniert einwandfrei so... - zu mindest im Firefox.
Im IE aber kann ich durch ganz schnelles Klicken auf den Sendenknopf manchmal doch die Werte mehrfach in die Datenbank schreiben.
Wie ist sowas überhaupt möglich?
Gibt's dazu ein Lösungsansatz?
Zum besseren Verständnis mein Code dazu:
PHP-Code:
//gibt es eine Auswahl Sitze zu speichern?
//Inhalt des versteckten Formularfeldes inpSitzWahl verarbeiten....
if (""!=$SitzAuswahl[0]) {//wenn das Feld nicht leer ist...
//Auswahl speichern
$besetzteSitze = array();//Array für schon besetzte Sitze
foreach ($SitzAuswahl as $key=>$PlatzBez) {
if (SitzFrei($PlatzBez, $drpShow)) {
$query = "INSERT INTO tx_platzda_res (`pid`,`tstamp`,`crdate`,`bem`,`gast`, `show`,`sitz`, `status`)
VALUES (".$vorverkaufPageId.", ".time().", ".time().",
'',".$User["uid"].", ".$drpShow.", ".SitzUID($PlatzBez).", 1)";
$res = $GLOBALS['TYPO3_DB']->sql_query($query);
}
}else{
$besetzteSitze[] = $PlatzBez;
}
}
if (""!=$besetzteSitze[0]) {//wenn Sitze nicht gebucht werden konnten, weil sie schon belegt sind...
$PlatzReservierenFehler = "<p... "//Var für ganze Fehlermeldung bei schon belegten Sitzen
}
}
Kommentar