HTMLフォームを作成しています。結果をPHPスクリプトに表示したい。
<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>
問題は、PHPに渡される値を取得できないことです。値を使用する場合:
<INPUT TYPE="submit" name="website_string" value="selected" >
常に引用符で囲まれたテキストを渡します。この場合 "selected"
。オプションから文字列の1つを渡すにはどうすればよいですか?
これを試して:
<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>
選択コントロールと送信ボタンの両方に同じname
属性があったため、最後に使用したのはクリックしたときに送信ボタンでした。その他のすべての構文エラーは別です。
<?php
echo $_POST['website_string'];
?>
生の
$_POST
データの使用に関する免責事項。 アプリケーションロジックで実際に使用するものはすべてサニタイズします。
_<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);
を使用してphpスクリプトの上部を簡単に確認できます。それぞれの要素名で送信されているものが表示されます。問題の要素の送信された値を取得するには、次のようにします。
_$website_string = $_POST['website_string'];
_
PHPでは、選択入力ではなく送信ボタンの値を取得しているようです。GETを使用している場合は、$_GET['website_string']
またはPOSTは$_POST['website_string']
。
次のHTMLが必要になるでしょう。
<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" />
いくつかのPHPは次のようになります。
<?php
$website_string = $_POST['website_string']; // or $_GET['website_string'];
?>
実際のフォームでは、結果を同じページに投稿するだけであれば、おそらく大丈夫でしょう。次のようなものを試してください:
<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> method="POST>
構文エラー(name属性の前に選択ボックスを閉じた)を修正したと仮定すると、送信ボタンと同じ名前を選択ボックスに使用しています。選択ボックスに別の名前を付けます。
ここに私が見つけたものがあります
form name
使う default select option
、 例えば...
<option value="-1" selected>Please Select</option>
フォームが送信された場合、JavaScriptを使用して送信プロセスを停止することも、サーバーで実装および検証できます。
この入力
<input type="submit">
あるべき
<input name="Submit" type="submit" value="Submit">
失敗するフォームを使用するときはいつでも、ボタン名submit
と名前をSubmit
として呼び出すことの違いによる失敗です。
フォームが設定されていない場合、フォームがWebホストで失敗するため、フォームのenctype属性も設定する必要があります。