0

HTML 選択ドロップダウンを使用して Web サイトの検索結果を並べ替えようとしていますが、問題が発生しています。以下のコードでは、具体的に Option1 を選択し、フォームを送信した後に結果をエコーし​​ようとすると、常に「FAIL」がエコーされます。フォームが送信された後、誰かが私が間違っていることと、ユーザーが選択したオプションからデータを取得する適切な方法を理解するのを手伝ってくれるかどうか疑問に思っていましたか?

<?php 

echo '<form method="post" action="search.php">
    <select>
         <option name="one">Option1 </option>
             <option name="two">Option2</option>
        </select>
        <input type="text" name="searchword" />
        <input type="submit" value="Search"  />
</form>';



if(isset($_POST['one'])){
     echo 'Option1 is set';
}else{
     echo 'FAIL';
}

?>

ありがとうございました

4

4 に答える 4

3

これは、name 属性がselectタグと一緒に使用されるためです。

<select name="dropdown">
    <option>Option 1</option>
    <option>Option 1</option>
</select>

if(isset($_POST['dropdown'])) {
    echo $_POST['dropdown']; //echoes 'Option 1'
}

value必要に応じて、要素に属性を追加できますが、option必須ではありません。

もしあなたがそうするなら

<option value="foobar">Option1</option>

フォームは投稿されますがfoobar、 ではありませんOption1

于 2012-05-16T22:49:55.313 に答える
1
<?php 

echo '<form method="post" action="search.php">
    <select name="my_option">
         <option value="one">Option1 </option>
             <option value="two">Option2</option>
        </select>
        <input type="text" name="searchword" />
        <input type="submit" value="Search"  />
</form>';



echo "My option value is : " .  $_POST['my_option'];

?>
于 2012-05-16T22:50:07.957 に答える
0

選択タグに名前を付けて、代わりにアクセスする必要があります。

<select name="options"></select>

echo $_POST['options'];選択したオプションが表示されます

于 2012-05-16T22:49:46.600 に答える
0

オプションには name="one" の代わりに

value="myvalue"

選択タグには

name="nameofthisthinghere"
于 2012-05-16T22:49:50.760 に答える