Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php isset isn';提交表格时不工作_Php_Forms_Validation - Fatal编程技术网

Php isset isn';提交表格时不工作

Php isset isn';提交表格时不工作,php,forms,validation,Php,Forms,Validation,我想在提交表单时验证表单字段,我使用isset()检查字段是否有值。我面临的问题是,如果字段的值为NOTS,则返回true 下面是HTML代码 <form action="handler.php" method="post"> <label>userName: </label><input type="text" name="fname" /><br/> </form> 用户名: 下面是php代码 <?php e

我想在提交表单时验证表单字段,我使用
isset()
检查字段是否有值。我面临的问题是,如果字段的值为NOTS,则返回true

下面是HTML代码

<form action="handler.php" method="post">
<label>userName: </label><input type="text" name="fname" /><br/>
</form>

用户名:
下面是php代码

<?php error_reporting(E_ALL);

if(validateForm()){?>

Welcome <?php echo $_POST["fname"]; ?>.<br />
}

function validateForm(){
     $empty=false;
     $empty=isset($_POST['fname'])?'true':'false';
     echo 'empty>>>>'.$empty;
     return $empty;
 }

?>

欢迎光临。
} 函数validateForm(){ $empty=false; $empty=isset($_POST['fname'])?'true':'false'; 回显“empty>>>>”。$empty; 返回$empty; } ?>
使用

如果不确定
$\u POST
中的内容,只需打印即可

var_dump($_POST)
使用

如果不确定
$\u POST
中的内容,只需打印即可

var_dump($_POST)
您想要使用的是:

编辑:删除了
isset()
,因为它不是必需的。感谢@Julian.

您想要使用的是:


编辑:删除了
isset()
,因为它不是必需的。感谢@Julian.

即使该字段没有值,也会将其设置为“”值(长度为0的字符串)。如果要检查是否有可用的值,请使用
empty()
或检查字符串的长度。

即使字段没有值,也会将其设置为值“”(长度为0的字符串)。如果要检查是否有可用的值,请使用
empty()
或检查字符串的长度。

在执行输入表单时,如果输入文本字段为空,则它不是
NULL
isset
检查它是否为
NULL
。如果不是
NULL
,则返回true;如果
NULL
,则返回false


我会使用
empty()
检查它是否为空。它检查传递给它的变量是否为空。如果为空,则返回true;如果为非空,则返回false。

执行输入表单时,如果输入文本字段为空,则不为NULL
isset
检查它是否为
NULL
。如果不是
NULL
,则返回true;如果
NULL
,则返回false


我会使用
empty()
检查它是否为空。它检查传递给它的变量是否为空。如果为空,则返回true,如果为非空,则返回false。

“isset-确定变量是否已设置且不为NULL”-设置了$\u POST['fname'],并且很可能等于空字符串。还要注意,
'false'
在我这样设置$empty=(isset($\u POST['fname'])&!empty($\u POST['fname'])时,计算结果为
true
@thetaiko=(isset true:false);返回1表示真值,返回nothing表示假值,如何返回假值?返回布尔值(与字符串相反),并在
if
语句中使用它。返回
true
false
,而不是
'true'
'false'
。尝试
var\u dump
而不是
echo
“isset”-确定变量是否已设置且不为空-$\u POST['fname']已设置且可能等于空字符串。还要注意,
'false'
的计算结果为
true
@thetaiko,当我这样做$empty=(isset($\u POST['fname'])&!empty($\u POST['fname'])时?true:false;返回1表示真值,返回nothing表示假值,如何返回假值?返回布尔值(与字符串相反),并在
if
语句中使用它。返回
true
false
,而不是
'true'
'false'
。尝试
var\u dump
而不是
echo
一个简单的空检查就足够了。不需要同时设置和清空。一张简单的空支票就足够了。不需要同时设置isset和empty。您可以使用编辑器功能正确设置答案的格式(更可用)。您可以使用编辑器功能正确设置答案的格式(更可用)。
function validateForm(){
     return !empty($_POST['fname']);
}