if!isset multiple OR condition

时间:2012-01-09 06:17:51

标签: php

我不能让这个为我的生活而工作,它是PHP。

<?php
 if (!isset($_POST['ign']) || ($_POST['email'])) {

  echo "Please enter all of the values!";
    }

 else {

   echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is         complete!";

    }
    ?>

我也尝试过使用过两次。

8 个答案:

答案 0 :(得分:19)

isset()不仅仅接受一个参数,因此只需传递尽可能多的变量:

<?php
    if (!isset($_POST['ign'], $_POST['email'])) {
        echo "Please enter all of the values!";
    }else{    
        echo "Thanks,". $_POST['ign'].", you will receive an email when the site is complete!";   
    }
?>

你也可以使用empty(),但它一次不接受变量。

答案 1 :(得分:10)

这就是我解决这个问题的方法:

$expression = $_POST['ign'] || $_POST['email'] ;
if (!isset($expression) {
    echo "Please enter all of the values!";
}
else {
     echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is                              
              complete!";
}

答案 2 :(得分:2)

我知道的最简单的方式:

<?php
if (isset($_POST['ign'], $_POST['email'])) {//do the fields exist
    if($_POST['ign'] && $_POST['email']){ //do the fields contain data
        echo ("Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is complete!");
    }
    else {
        echo ("Please enter all of the values!");
    }
}
else {
    echo ("Error in form data!");
}
?>

编辑:更正了代码以单独显示表单数据和空值错误。

说明:第一个if语句检查提交的表单是否包含两个字段,ign和email。这样做是为了在没有传入ign或电子邮件的情况下停止第二个if语句抛出错误(消息将被打印到服务器日志)。第二个if语句检查ign和email的值,看它们是否包含数据。

答案 3 :(得分:1)

试试这个:

<?php
 if (!isset($_POST['ign']) || isset($_POST['email'])) {
  echo "Please enter all of the values!";
    }
 else {
   echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is         complete!";
    }
    ?>

答案 4 :(得分:0)

 isset($_POST['ign'],$_POST['email']));

然后检查空值。

答案 5 :(得分:0)

当您使用 POST 时,请使用 empty()。因为当您的表单发送数据时。它为空输入异步 null! 最好的办法是:

 if ((!isset($_POST['ign']) || empty($_POST['ign'])) &&
     (!isset($_POST['email']) || empty($_POST['email'])) {

是的!好丑……

所以你可以使用:

<?php
 if ( checkInput($_POST['ign']) || checkInput($_POST['email']) ) {

  echo "Please enter all of the values!";
    }

 else {

   echo "Thanks, " . $_POST['ign'] . ", you will recieve an email when the site is         complete!";

    }

 function checkInput($input){
     return ( !isset($input) || empty($input) );
 }
?>

答案 6 :(得分:-1)

您可以尝试以下代码:

<?php
    if(!isset($_POST['ign'], $_POST['email'])) {
        echo "Please enter all of the values!";
    } else {
        echo "Thanks, " . $_POST['ign'] . ", you will receive an email when the site is complete!";
    }
?>

答案 7 :(得分:-2)

// if any of this session is set then
if (isset($_SESSION['tusername']) || isset($_SESSION['student_login'])) {
  it will return true;
} else {
  it will return false;
}