2017-02-16 50 views
0

我是一个初学者,当涉及到PHP,我遇到了一个问题,我找不到解决方案。我试图寻找相关的答案,但我还没有找到答案。如果语句匹配显示文本

我在我的index.php下面的代码:

<?php if ($set_status = 2) { 
echo 'There is one or more errors'; 
} else { 
echo ''; 
} 
?> 

,这一点进一步下跌:

<?php include 'scan/a.php'; ?> 

而且我a.php只会里面我有以下代码:

<?php 
$a = file_get_contents 
('http://www.a-random-website/text.html', NULL, NULL, 2, 1); 


if ($a == "0") { 

include 'fail.php'; 

} elseif ($a == "1") { 

include 'success.php'; 

} else { 
    echo 'Offline'; 
} 

?> 

而在我的fail.php中我有以下代码:

<?php 

$set_status = 2; 

echo 'Failed'; 
?> 

所以这里的想法是,“a.php”将从网站获取一个数字(正确的网站显示代码将获取[“1”]或[“0”])。

取决于它返回结果,a.php只会将包括任一“fail.php”或“success.php”,每个包含成功或故障消息。如果file_get_contents返回0,我也希望fail.php为$ set_status = 2;这会导致在前台页面(index.php)上显示“有一个或多个错误”。

我使用include的原因是会有一个“b.php”和“c.php”和“d.php”等等,所有这些都是做同样的事情,只是从不同的页面获取数据。我希望成功或失败消息保持容易编辑,而无需编辑每个新的x.php文件。

所以这里的地方变得有问题。除了“存在一个或多个错误”(如果($ set_status = 2))应该触发的消息,一切都可以很好地工作。

我能得到尽可能示出该消息,但是,当我切换1和0中的“a.php只会”(为了模拟特定结果)消息仍会显示。我似乎无法弄清楚。

所以我的问题是:我做了什么错,什么是做了正确的方法是什么?

预先感谢您!

最好的问候, 马克

+0

去比较($ setstatus == 2)条件,那么你会得到.. – Sona

+3

你在'if'语句中使用'='而不是'=='。 – ShiraNai7

+0

我觉得没有在index.php文件和回声声明给予$ set_status值也是空的,所以最后的空白页....需要一些vlaue传递到$ set_status的index.php中 –

回答

1

使用==运营商的index.php比较

<?php if ($set_status == 2) { 
echo 'There is one or more errors'; 
} else { 
echo ''; 
} 
?> 
1
<?php if ($set_status ==2) { 
echo 'There\'s one or more errors'; 
} else { 
echo ''; 
} 
?> 

只是更改此代码......看到回声线斜线\== ..否则你的代码标识罚款