Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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 提交表单时出现多个if场景_Php_Forms_Validation - Fatal编程技术网

Php 提交表单时出现多个if场景

Php 提交表单时出现多个if场景,php,forms,validation,Php,Forms,Validation,我正在尝试为网站访问者提交表单时添加多个场景。现在我们有4个下拉式问题。将有3种情况: 回答全部4个“是”,重定向到成功页面 回答任何问题否,重定向至不符合条件的页面 回答军事问题是无论其他答案是什么,都要重新定向成功页面 不幸的是,我无法让第三个场景工作。代码如下: mail($to, $mailsubject, $body, $header); if($Q1=='yes' && $Q2=='yes' && $Q3=='yes' && $Q4==

我正在尝试为网站访问者提交表单时添加多个场景。现在我们有4个下拉式问题。将有3种情况:

  • 回答全部4个“是”,重定向到成功页面
  • 回答任何问题否,重定向至不符合条件的页面
  • 回答军事问题无论其他答案是什么,都要重新定向成功页面
  • 不幸的是,我无法让第三个场景工作。代码如下:

    mail($to, $mailsubject, $body, $header);
    if($Q1=='yes' && $Q2=='yes' && $Q3=='yes' && $Q4=='yes'){
        header('Location: http://example.com/success.php'); 
    }
    if($Q3=='yes'){
        header('Location: http://example.com/success.php'); 
    }   
    
    if($Q1=='no' || $Q2=='no' || $Q3=='no' || $Q4=='no' ){
        header('Location: http://example.com/resources.php'); 
    }
    
    如果我没有弄错的话,这实际上涵盖了您的所有案例。

    对于两种成功案例,Q3必须为是。如果是的话,其他什么都不重要。如果不是,则总是失败。

    从逻辑的角度来看,我相信这可以简化为仅检查军事是或否。这可能会使您更容易,因为这只是一种“如果-否则”的情况。
    if (($Q3 == "yes")||($Q1=='yes' && $Q2=='yes' && $Q3=='yes' && $Q4=='yes')) {
        header('Location: http://example.com/success.php');
    } else {
        header('Location: http://example.com/resources.php');
    }
    
    if (($Q3 == "yes")||($Q1=='yes' && $Q2=='yes' && $Q3=='yes' && $Q4=='yes')) {
        header('Location: http://example.com/success.php');
    } else {
        header('Location: http://example.com/resources.php');
    }