-1

如何检查是否设置了特定字段?

例如 :

html

<form method="post" action="check.php">
  name <input type="text" name="username" /> <br />
  text to send <input type="text" name="to_send" /> <br />
  <input type="submit" value="submit" />
</form>

php

if(isset($_POST['username'])) {
    echo "Username is set";
}else if(isset($_POST['to_send'])) {
    echo "text-to-send is set";
}

无论我在username字段中输入内容还是不if声明总是评估为true. 这是为什么 ?

如何检查是否设置了特定字段?

4

3 回答 3

2

因为大多数控件即使为空也总是设置(一个例外是复选框)。尝试:

if(!empty($_POST['username'])) {
于 2013-10-24T01:35:58.460 回答
0

你可以试试

if(!empty($_POST['username'])){
  echo "Username is set";
}else if(...
于 2013-10-24T01:37:46.943 回答
0

该字段将始终设置,因为它是来自提交操作的 post 数组的一部分。您实际上需要检查字段中是否存在“”或空字符串以外的值。

if($_POST['username'] == ''){
    //This field is an empty string
} else {
    //There is a value here
}

但是,如上所述:

if(!empty($_POST['username'])){ 

效率更高,并且是正确的方法。

于 2013-10-24T01:38:21.500 回答