带有2个条件的PHP IF语句

PHP IF statement with 2 conditions

本文关键字:IF 语句 PHP 2个 条件 带有      更新时间:2023-09-26

我在尝试检查变量时遇到了这个问题。

所以我有一个表单。用户点击发送。变量使用带有的邮件发送

xhr.open("POST", "ajax_http.php?", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(sVar4);

这很好,我的变量被发送到ajax_http.php

现在,当我尝试检查我的变量时,我使用php并执行以下操作:

 $stuff = $_POST['stuff'];
 if(isset($stuff) && (strlen($stuff) > 200)){
   $var = $stuff;   
 } else{
   $error = true;
 }

所以我首先注意到的是,我的变量$_POST['stuff']总是被设置的,即使它是空的。无论strlen($stuff)的长度如何,我的$var总是被设置,而$error永远不会被设置为true。

我相信我的if()声明是错误的,但什么是错误的。

谢谢你的帮助。

我想这是检查是否设置了值的更准确的方法。

if(isset($_POST['stuff']))
{
    $stuff = $_POST['stuff'];
    //echo $stuff . "<br>";
    //echo strlen($stuff); to see its contents to help understand why it wont run the $var = $stuff; statement
    if((strlen($stuff) > 200))
    {
      $var = $stuff;             
    }
    else
    {
       $error = true;
    }
}
else
{
    //Do whatever necessary :)
}

您可以使用empty(),因为您担心的是即使它是空的也会被设置。只有在它不是空的情况下才能继续。

http://php.net/manual/en/function.empty.php

if(!empty($stuff) && strlen($stuff) > 200){
//do stuff
}