PHP - Anfrage mit Button Click starten
Frank
- php
Ich habe dieses Thema gestern schonmal angesprochen und bekam auch einen sehr hilfreichen Link von einem Forenmitglied.
http://www.php-faq.de/q/q-formular-absenden.html
Das Beispiel das dort zu finden ist, ist wirklich sehr einleuchtend, leider konnte ich bei der Umsetzung nicht zum gewünschten Ergebnis kommen.
Hier ein kleines Beispiel bei dem es allerdings zu keiner Ausgabe kommt. Aber warum?
<input type="submit" name="submit" value="OK"/>
<?
if (isset($_REQUEST['submit'])) { print "alles ok"; }
?>
Danke schonmal.
Hi Frank!
Hier ein kleines Beispiel bei dem es allerdings zu keiner Ausgabe kommt. Aber warum?
Weil nichts abgesendet wird. Ein input-Element muss immer innerhalb eines Formulars auftauchen. Dort musst du auch angeben, an welche Datei die Daten gesendet werden.
MfG H☼psel
echo $begrüßung;
Ein input-Element muss immer innerhalb eines Formulars auftauchen.
Diese Aussage stimmt nicht.
Es muss nur dann unterhalb[*] eines Form-Elements auftauchen, wenn dessen Name ("control name") und dessen aktueller Wert ("current value") als Teil eines "form data set" versendet werden soll. Siehe http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2.
Ansonsten kann es auch einfach nur so in der Gegend rumstehen[**], und beispielsweise als Newstickeranzeigefläche zu dienen, um nur mal ein Beispiel einer (mir nicht sonderlich gefallenden) Anwendung zu nennen.
Dort musst du auch angeben, an welche Datei die Daten gesendet werden.
Die Spezifikation spricht vom "(form) processing agent" und von einem HTTP URI. Ob an irgendeiner Stelle der Verarbeitung Dateien eine Rolle spielen ist irrelevant.
echo "$verabschiedung $name";
[*] "Unterhalb" zog ich bewusst "innerhalb" vor, da input/select/textarea/label/button nicht direkt als Kinder eines form-Elements stehen dürfen. Dazwischen muss noch ein geeignetes Block-Element, wie p oder div, stehen.
[**] Natürlich unter der Beachtung der Verschachtelungsregeln der HTML-Spezifikation.
Hallo, dedlfix!
[*] "Unterhalb" zog ich bewusst "innerhalb" vor, da input/select/textarea/label/button nicht direkt als Kinder eines form-Elements stehen dürfen. Dazwischen muss noch ein geeignetes Block-Element, wie p oder div, stehen.
wer sagt das?
freundl. Grüsse aus Berlin, Raik
echo $begrüßung;
[*] "Unterhalb" zog ich bewusst "innerhalb" vor, da input/select/textarea/label/button nicht direkt als Kinder eines form-Elements stehen dürfen. Dazwischen muss noch ein geeignetes Block-Element, wie p oder div, stehen.
wer sagt das?
Die Spezifikation von HTML 4.01 und XHTML 1.0, jedenfalls in der Strict-Variante. Da ich diese bevorzugt verwende, verallgemeinerte ich hier unzulässigerweise. In den Transitional-Varianten ist es erlaubt Inline-Elemente, zu denen auch die erwähnten "inline.forms" direkt unter <form> zu verwenden.
echo "$verabschiedung $name";
Hallo Frank,
Ich habe dieses Thema gestern schonmal angesprochen
Richtig, in https://forum.selfhtml.org/?t=118219&m=757650 - bleib bitte in deinem ersten Thread.
Grüße aus Nürnberg
Tobias