2017-02-27 4 views
0

私の投稿フォームには、ユーザーがメダルの数を選択するセレクタがあります。私のgetSearchFields()関数では、セレクタが空でない場合(セレクタがSelect Medal Countにない場合)、関数はタスク1を完了します。セレクタは$_POST['medalCount']!== ''テストに失敗し、タスク1を実行しています。$_POST['medalCount']はstring型です。これをどうやって解決するのですか? index.php

<form action="index.php" method="post" name="search"> 
<select name="medalCount"> 
    <option value=0 selected> Select Medal Count </option> 
    <option value=1>1</option> 
    <option value=2>2</option> 
    <option value=3>3</option> 
    <option value=4>4</option> 
    <option value=5>5</option> 
    <option value=6>6</option> 
</select> 
</form> 

...

function getSearchFields(){ 
    if($_POST['medalCount']!== ''){ 
     //Task 1 
     $search_fields['medalCount'] =$_POST['medalCount']; 

    } 
} 
+3

No ** '' **タグ...あなたはJavaScriptとPHPを混在させようとしていますが、それはうまくいかないでしょう。 – Darren

+1

あなたのフォームは、どのようにして 'medalCount'に空の文字列値を提出することができますか(ヒント:できません)? – Phil

+2

@mickmackusaコメントによれば、なぜそれを追加するのが気にかかっていないのか分かりません。/ – Phil

答えて

3

変更この

<option value=0 selected> Select Medal Count </option> 

、あなたは(通常は)$_POST['medalCount']に空の文字列値を受け取ることはないと$_POST['medalCount']!== ''、常にとなります。

+0

私は一重引用符 ''を除き、あなたの方法を行いました – 14wml

+0

@ 15ongm引用符のタイプは一般的に問題ありませんドキュメントをDTDに対して検証する) – Phil

2

この行は$_POST['medalCount']!== ''間違っている、あなたは$_POST['medalCount']!= 0をしようとする必要があります。セレクタの空の値は0です。非空value属性を持つすべての<option>の要素を持つこの

<option value="" selected> Select Medal Count </option> 

関連する問題