Nach "klick auf button" oder bestätiung...code weiter ausführen

Apfelkuchen

Mitglied
Hi. Ich schreibe für meinen Tennisclub ein skript wobei der Veranstalter turniere eintragen kann.

nachdem ich diverse eingaben über form erledigt habe, soll nun alles aufgelistet werden, was in die datenbank kommt und nachdem dies aufgelistet wurde soll bestätigt werden, dass es abgeschickt wird (oder dass der restliche code ausgeführt wird, damit die Inserts stattfinden)

Wie kann ich das in PHP machen:

1. Eingaben abfangen und überprüfen - erledigt mit einem Formular
2. Eingaben werden nach Submit aufgelistet
3. User soll bestätigen
4. funktion dbeintrag soll gestartet werden

Also wie kann ich den Code anhalten und erst weitermachen nachdem man irgendwohin geklickt hat?

Danke
 
Ist zwar nicht die beste Lösung, aber Du kannst dieses mit einem weiteren Formular, welches Du vor den Bestätigungsbutton machst lösen.
Hier halt dann die versteckten Felder eines Formulares nutzen:

Auflistung:

blablabla1
blablabla2
blablabla3
<-Bestätigungsbutton->

HTML:
<form action="" method="post">
<input type="hidden" name="auflistung1" value="<? echo $_POST['blablabla1']; ?>" />
<input type="hidden" name="auflistung2" value="<? echo $_POST['blablabla2']; ?>" />
<!-- usw...-->
<input type="submit" name="bestaetigung" value="eintragen" />
</form>
 
Wirklich schön ist das mit dem doppelten weiterleiten nicht.
Formular ist klar, sendet es an die eigene Seite oder an eine weitere?
 
Wirklich schön ist das mit dem doppelten weiterleiten nicht.
Formular ist klar, sendet es an die eigene Seite oder an eine weitere?

Ich sende es an die eigene. Allerdings ist es etwas kompliziert.

Ich habe eine funktion definiert dbeintrag in der die gesamte überprüfung der eingaben und das eintragen in die DB stattfindet. Diese funktion wird aber für jedes match aufgerufen mit neuen Variablen:

PHP:
    // AR1 Match
    $spieler1name = $AR1spieler1;
    $spieler2name = $AR1spieler2;
    $matchwinner =    $AR1winner;
    $spielresult =    $AR1result;
    dbeintrag($spieler1name, $spieler2name, $matchwinner, $spielresult, $datum, $tour_id, $round, $event, $security);    
    
        // AR2 Match
    $spieler1name = $AR2spieler1;
    $spieler2name = $AR2spieler2;
    $matchwinner =    $AR2winner;
    $spielresult =    $AR2result;
    dbeintrag($spieler1name, $spieler2name, $matchwinner, $spielresult, $datum, $tour_id, $round, $event, $security);

in dbeintrag finden die überprüfungen statt (falls ein zweiter spieler nicht angegeben wurde, falls das ergebniss nicht angegeben wurde, falls man als spieler1 und spieler2 den selben gewählt hat, falls man keinen sieger gewählt hat). Dann wenn das alles ok ist, wird in die DB eingetragen, ansonsten wird eine Fehlermsg ausgegeben.

Mein Problem ist es jetzt, dass:

1. Match ist OK -> wird eingetragen in die DB
2. Match ist OK -> wird eingetragen in die DB
3. Match ist nicht OK -> User bekommt die Fehlermeldung und muss "Zurück" klicken und die Eingabe überprüfen. Wenn er jetzt wieder auf absenden klickt, dann passiert folgendes:
1. Match ist OK -> wird eingetragen in die DB
2. Match ist OK -> wird eingetragen in die DB
3. Match ist jetzt auch OK und wird eingetragen. Dafür habe ich jetzt aber Match 1 und 2 doppelt drinnen
 
Vielleicht hilft dir das weiter(war jetzt zu faul um das für dich umzuschreiben, aber das mit dem button und dann erst weiter ist drin):
PHP:
<?php
/* Datenbank-Verbindung */
mysql_connect("","root");
mysql_select_db("forum");

/* Keine Parameter gesendet: Zur Anmeldung */
if(!isset($_POST["aufruf"]) || !isset($_POST["pw"]))
{
   echo "<form name='anm' action='test.php'";
   echo " method='post'>";
   echo "Passwort:<br>";
   echo "<input type='password' name='pw'>";
   echo "<input type='hidden' name='aufruf'";
   echo " value='login'><br>";
   echo "<a href='javascript:document.anm.submit();'>";
   echo "Anmelden</a>";
   echo "</form></body></html>";
   exit;
}

/* Prüfung auf gültiges Passwort */
$sqlab = "select * from teilnehmer";
$sqlab .= " where passwort like '" . $_POST["pw"] . "'";
$res = mysql_query($sqlab);
$num = mysql_num_rows($res);

if($num==0)
{
   echo "<script type='text/javascript'>";
   echo "location.href='test.php'</script>";
   echo "</body></html>";
   exit;
}

/* Formular beginnt nach erfolgreicher Anmeldung */
echo "weiter";
?>
 
Zurück