Christian Seiler: Button in ein PHP-Skript einfügen

Beitrag lesen

Hallo Kinjust,

Wäre super wenn Ihr mir einer von Euch da weiterhelfen könnte!

Also: Erst einmal musst Du trennen zwischen dem, was in Deinem Sourcecode steht und dem, was der Browser zu Gesicht bekommt.

Jegliches PHP-Script wird - korrekte Konfiguration vorrausgesetzt - auf dem Server verarbeitet. Es wird eine Ausgabe erzeugt, die in den meisten Fällen HTML ist, und diese wird an den Browser gesandt. Jegliche Kommunikation mittels HTTP, dem Protokoll, mit dem das Web arbeitet, ist eine Art Ping-Pong: Der Browser sendet Ping (eine Anfrage) und der Server sendet Pong. (die Antwort darauf)

Wenn Du nun eine Seite hast, die dem Browser ein Formular liefert - wohlgemerkt: es kommt nur darauf an, dass der Browser das Formular zu Gesicht bekommt, ob die Seite per PHP erzeugt wurde oder normales HTML ist, ist dem Browser selbst erst mal egal - wenn Du nun so eine Seite mit Formular hast, dann gibst Du dem Browser die Adresse der Seite mit, die er aufrufen soll, wenn das Formular abgeschickt werden soll. Wenn das Script, das die Formulardaten entgegen nimmt, jetzt diese nochmal ausgibt, dann muss es _außerdem_ noch ein weiteres Formular erzeugen, das beim Abschicken ein weiteres Script aufrufen lässt, das dann wiederrum die Daten verarbeitet. Du willst aber vermutlich nicht, dass dieses Formular die ganzen Felder nochmal zum Bearbeiten anzeigt, daher musst Du die Felder als Hidden-Felder einfügen.

Wenn das Script, das die Formulardaten noch mal anzeigt, außerdem auch noch für die Verarbeitung, also dem Senden einer Mail, zuständig sein soll, dann musst Du diesem Script irgendwie auch mitteilen, welche Aktion es tun soll. Daher solltest Du beim nochmaligen Anzeigen ein weiteres Hidden-Feld hinzufügen, das dem Script selbst zu erkennen gibt: Aha - ich wurde schon mal aufgerufen - jetzt wurde das Formular bestätigt.

Daher sollte Dein Ablauf so aussehen:

senden.php:

wenn (Hidden-Feld gesetzt, das angibt, dass das Formular schon angezeigt worden ist)
   -> Mail senden
   -> Meldung ausgeben
   -> Script beenden

ansonsten:

-> Fomulardaten noch mal ausgeben
  -> Fomular als lauter Hidden-Felder noch mal ausgeben
  -> Zusätzliches Hidden-Feld, das den Status angibt, ausgeben

Viele Grüße,
Christian

--
| http://www.selflinux.org/                                                  |
| http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm                      |
| sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
| http://emmanuel.dammerer.at/selfcode.html                                  |