2017-02-16 150 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 ''; 
} 
?> 

只是更改此代碼......看到回聲線斜線\== ..否則你的代碼標識罰款