【问题标题】:Nesting Conditionals In An if Statement在 if 语句中嵌套条件
【发布时间】:2012-02-17 06:39:26
【问题描述】:

我希望在 if 语句的另一个条件(如果有意义)中嵌套两个条件。让我解释一下。

我有一个表格。我有姓名、电子邮件,然后我有两个文本区域(一个由 $designer_program 表示,一个由 $_designer_language 表示)。一个 textarea 用于填写表格的设计师,一个 textarea 用于填写表格的程序员。他们只需要填写一份,但必须填写一份。所以我在 PHP 中使用的 if 语句如下:

if (isset($_POST['designer_name']) && isset($_POST['designer_email']) && isset($_POST['designer_program'])){

etc.

这很好,但我想做设计器程序或设计器语言。基本上我尝试过这样的事情:

if (isset($_POST['designer_name']) && isset($_POST['designer_email']) && isset(($_POST['designer_program']) || ($_POST['designer_language'])){

但我猜你不能嵌套这样的条件?我确信有一个简单的语法解决方案,但我找不到它。谢谢。

编辑

这是完整的代码:

<?php

if (isset($_POST['designer_name']) && isset($_POST['designer_email']) && isset($_POST['designer_program'])){
    $designer_name = $_POST['designer_name'];
    $designer_email = $_POST['designer_email'];
    $designer_program = $_POST['designer_program'];
    $designer_language = $_POST['designer_language'];

    if(!empty($designer_name) && !empty($designer_email) && !empty($designer_program)){
        $to = 'example@example.com';
        $subject = 'Test Application: '.$designer_name;
        $body = "Test Application";
        $headers = 'From: '.$designer_email;

        if (@mail($to, $subject, $body, $headers)){
                echo '<script type="text/javascript">document.location.href="thankyou.php";</script>';
        }

        }
        else{
        echo '<script type="text/javascript">
        window.alert("Please fill out all fields.");
        </script>';
        }

    }
?>

【问题讨论】:

  • 只是指出,在您的第二个代码示例中,您有一个额外的 (,它应该是:isset($_POST['designer_program']) ||

标签: php if-statement conditional-operator


【解决方案1】:

您的逻辑失败了,因为所有文本区域都已发送,无论它们是否包含信息。

您需要检查POST,然后使用您拥有的条件检查非空值而不是设置值。

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

【讨论】:

  • 我添加了完整的代码。我有 !empty 部分。我不需要检查它们是否都设置好了?如果没有设置我放入 isset 条件的一个变量怎么办?
猜你喜欢
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
相关资源
最近更新 更多