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