Ich mache ein HTML-Formular. Ich möchte, dass die Ergebnisse im Skript PHP angezeigt werden.
<form action="chk_kw.php" method="post"> <br />
<select> name="website_string"
<option value="" selected="selected"></option>
<option VALUE="abc"> ABC</option>
<option VALUE="def"> def</option>
<option VALUE="hij"> hij/option>
</select>
<input type="submit" name="website_string" >
</form>
Das Problem ist, dass ich den Wert nicht an PHP übergeben kann. wenn ich Wert verwende:
<INPUT TYPE="submit" name="website_string" value="selected" >
Der Text wird immer in Anführungszeichen übergeben. In diesem Fall "selected"
. Wie übergebe ich eine der Zeichenfolgen aus der Option?
Versuche dies:
<form method="post" action="check.php">
<select name="website_string">
<option value="" selected="selected"></option>
<option VALUE="abc"> ABC</option>
<option VALUE="def"> def</option>
<option VALUE="hij"> hij</option>
</select>
<input TYPE="submit" name="submit" />
</form>
Sowohl Ihr Auswahlsteuerelement als auch Ihr Submit-Button hatten das gleiche name
-Attribut. Das letzte verwendete Attribut war der Submit-Button, als Sie darauf geklickt haben. Alle anderen Syntaxfehler beiseite.
<?php
echo $_POST['website_string'];
?>
Obligatorischer Disclaimer bezüglich der Verwendung von
$_POST
-Rohdaten. Desinfizieren Sie alles, was Sie tatsächlich in der Anwendungslogik verwenden .
<form method="POST" action="chk_kw.php">
<select name="website_string">
<option selected="selected"></option>
<option value="abc">abc</option>
<option value="def">def</option>
<option value="hij">hij</option>
</select>
<input type="submit">
</form>
print_r($_POST);
, Oben in Ihrem php -Skript eine schnelle Überprüfung durchführen. Dabei wird angezeigt, was gesendet wird, und der jeweilige Elementname.Um den übermittelten Wert des betreffenden Elements abzurufen, führen Sie folgende Schritte aus:
$website_string = $_POST['website_string'];
Es scheint, dass Sie in PHP den Wert der Submit-Schaltfläche erhalten, nicht die Select-Eingabe. Wenn Sie GET verwenden, möchten Sie $_GET['website_string']
verwenden, oder POST wäre $_POST['website_string']
.
Sie werden wahrscheinlich folgendes HTML benötigen:
<select name="website_string">
<option value="" selected="selected"></option>
<option value="abc">ABC</option>
<option value="def">def</option>
<option value="hij">hij</option>
</select>
<input type="submit" />
Bei einigen PHP sieht das so aus:
<?php
$website_string = $_POST['website_string']; // or $_GET['website_string'];
?>
Wenn Sie die Ergebnisse für Ihr aktuelles Formular einfach auf derselben Seite veröffentlichen, sollte dies wahrscheinlich in Ordnung sein. Versuchen Sie etwas wie:
<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> method="POST>
Vorausgesetzt, Sie haben die Syntaxfehler behoben (Sie haben das Auswahlfeld vor dem Namensattribut geschlossen), verwenden Sie denselben Namen für das Auswahlfeld als die Schaltfläche zum Senden. Geben Sie der Auswahlbox einen anderen Namen.
Hier finde ich Werke
form name
Verwenden Sie zum Beispiel einen default select option
...
<option value="-1" selected>Please Select</option>
Wenn also das Formular gesendet wird, kann die Verwendung von JavaScript zum Stoppen des Übermittlungsvorgangs auch auf dem Server implementiert und überprüft werden.
Diese Eingabe
<input type="submit">
sollte sein
<input name="Submit" type="submit" value="Submit">
wenn ich ein fehlgeschlagenes Formular verwende, ist es ein Fehler, weil der Schaltflächenname submit
und der Name Submit
unterschiedlich ist.
Sie sollten auch Ihr Enctype-Attribut für Ihr Formular festlegen, da Formulare auf meinem Webhost fehlschlagen, wenn es nicht festgelegt ist.