php中_POST获取值, 不存在时,怎么验证

时间:2022-12-30 23:15:56
<html>
<head>
<title>测试php</title>
</head>
<body>
<form action="test.php" method="post">
<input type="text" name="name" />
<br />
<input type="submit" value="提交" />
</form>
</body>
</html>
<?php 
$name = "";
if(!empty($_POST["name"]))
{
    $name = $_POST["name"];
}
print $name;
?> 

运行时报错, 开始就没有$_POST["name"]值, 怎么验证有没有$_POST["name"]值.
如果有name值提交就打印值, 没得就打印""

5 个解决方案

#1


报什么错? 你的也行。用isset()也行。

#2


test.php改成:
<?php 

if (isset($_POST)) {
    $name = "";
    if(!empty($_POST["name"]))
    {
        $name = $_POST["name"];
    }
    print $name;
} else {
    echo "$_POST not Set!";
}

?>  

#3


很好奇,这段代码回报什么错?

#4


错误级别打开过高了吧,关闭错误提示就不会报了。这个在生产环境下可用,开发还是严谨一些,养成验证的好习惯比较好。

 推荐用楼上说的isset()函数验证一下值是否存在。

比如想知道是否存在name值的提交,可以这样:

if(isset($_POST['name'])||!empty($_POST['name'])
{
  echo $_POST['name'];//值存在且不为空打印出来;
}else{
  echo " ";//值不存在或为空,打印空"";
}

#5


开始我写成了
<?php 
$name = "";
if(!isset($_POST["name"]))
{
$name = $_POST["name"];
}
print $name;
?> 
所以一直报错, 我发帖子时又改成了!empty($_POST["name"])

#1


报什么错? 你的也行。用isset()也行。

#2


test.php改成:
<?php 

if (isset($_POST)) {
    $name = "";
    if(!empty($_POST["name"]))
    {
        $name = $_POST["name"];
    }
    print $name;
} else {
    echo "$_POST not Set!";
}

?>  

#3


很好奇,这段代码回报什么错?

#4


错误级别打开过高了吧,关闭错误提示就不会报了。这个在生产环境下可用,开发还是严谨一些,养成验证的好习惯比较好。

 推荐用楼上说的isset()函数验证一下值是否存在。

比如想知道是否存在name值的提交,可以这样:

if(isset($_POST['name'])||!empty($_POST['name'])
{
  echo $_POST['name'];//值存在且不为空打印出来;
}else{
  echo " ";//值不存在或为空,打印空"";
}

#5


开始我写成了
<?php 
$name = "";
if(!isset($_POST["name"]))
{
$name = $_POST["name"];
}
print $name;
?> 
所以一直报错, 我发帖子时又改成了!empty($_POST["name"])