Php 如果……如果在超过2种情况下不工作?

Php 如果……如果在超过2种情况下不工作?,php,html,forms,if-statement,Php,Html,Forms,If Statement,我已经用html创建了一个表单,其中有多个按钮的名称不同,如(sub1、2、3..等等),但它们的值都相同(value=“Update”)。我遇到一个问题,当点击任何一个按钮时,它都可以控制我所有的输入框,因此我搜索了这个问题的解决方案,发现了一个包含if..elseif语句的php脚本,但当我尝试运行它时,只编译了前两个if和elseif条件,而忽略了其余条件。 下面是我的php代码,请大家帮我解决这个问题。我相信我的问题也会帮助很多其他人:) 试试这个 <?php $options =

我已经用html创建了一个表单,其中有多个按钮的名称不同,如(sub1、2、3..等等),但它们的值都相同(value=“Update”)。我遇到一个问题,当点击任何一个按钮时,它都可以控制我所有的输入框,因此我搜索了这个问题的解决方案,发现了一个包含if..elseif语句的php脚本,但当我尝试运行它时,只编译了前两个if和elseif条件,而忽略了其余条件。 下面是我的php代码,请大家帮我解决这个问题。我相信我的问题也会帮助很多其他人:)

试试这个

<?php
$options = array(
    "header" => "assets/config_header.php", 
    "color" => "assets/config_header5.php", 
    "headline" => "assets/config_header1.php", 
    "color1" => "assets/config_header6.php", 
    "subhead" => "assets/config_header2.php", 
    "color2" => "assets/config_header7.php", 
    "prodname" => "assets/config_header3.php", 
    "vivid" => "assets/config_header3.php"
);

foreach ($options as $key => $file) {
    if($_POST[$key]) {
        if(isset($_POST[$key]) && trim($_POST[$key]) != ""){
            $fp = fopen($file, 'w');
            fwrite($fp, '<?php');
            fwrite($fp, ' ');
            fwrite($fp, '$' . $key . ' = "'.trim($_POST[$key]).'";');
            fwrite($fp, ' ');
            fwrite($fp, '?>');
            fclose($fp);
            break;
        }
    }
}

您的代码是这样的

<?php 
if($_POST['header']){
    if(isset($_POST['header']) && trim($_POST['header']) != "")
    {
        //some code
    }
}

:
:
:
:
elseif($_POST['vidid']) 
{
    if(isset($_POST['vidid']) && trim($_POST['vidid']) != "")
    {
        //some code
    }
}

?> 
if{
}
elseif{
}
else{
}
但是您的代码不包含您在if或elseif中添加的else。如果使用isset,则首先在upper中检查post方法中的标题。如果使用isset,则不需要单独检查null。isset将为您检查。您可以直接检查空字符串,为什么要使用trim

所以你的代码应该是这样的

<?php 
if((isset($_POST['header']) && $_POST['header']!= "")
    {
        //some code
    }

:
:
:
:
if(isset($_POST['vidid']) && $_POST['vidid'] != "")
    {
        //some code
    }

?> 

在关闭
if
之前,您不需要
else if
是否要在second if condition中检查条件???@Drudge否我不希望它嵌套,但要在else if中ladder@JoshStevens先生,您能详细说明一下吗?或者您能写出至少4个条件的正确代码吗?这将有助于我更好地理解我,因为我是新的PHP语言,我以前在C++和java中工作过。如果所有的后变量都驻留在一个HTML表单中,你不必检查<代码> ISSET/COME >,因为它总是在提交表单时被设置。它要么是空的,要么是有值的。这是一种更好的方法——如果您不使用关闭php标记。
<?php 
if((isset($_POST['header']) && $_POST['header']!= "")
    {
        //some code
    }

:
:
:
:
if(isset($_POST['vidid']) && $_POST['vidid'] != "")
    {
        //some code
    }

?>