表单选择器失败$ _POST [' medalCount']!==''测试

时间:2017-02-27 03:51:56

标签: php forms html-form-post

在我的帖子表格中,我有一个选择器供用户选择奖牌数量。在我的getSearchFields()函数中,如果选择器不是空的(也就是选择器不在选择奖牌计数上),则该函数完成任务1.但是,选择器未通过$_POST['medalCount']!== ''测试并且正在执行任务1. $_POST['medalCount']是类型字符串。我该如何解决这个问题?

<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>

index.php ...

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

   }
}

2 个答案:

答案 0 :(得分:3)

更改此

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

到这个

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

如果所有<option>个元素都具有非空value属性,您将永远(通常)不会在$_POST['medalCount']中收到空字符串值,而$_POST['medalCount']!== ''始终 是真的。

答案 1 :(得分:2)

此行错误$_POST['medalCount']!== '',您需要尝试$_POST['medalCount']!= 0。由于您的选择器空值为0