2011-09-23 51 views
0

如果我有這樣的代碼:死()但只在<?php ?>標籤內?

<html> 
... 
<?php 
.... 
die(); 
?> 
.... 
</html> 

那麼整個頁面停止執行,並且最終的HTML不會得到顯示。有沒有辦法只留下封閉的PHP標籤內的PHP?

+0

你的HTML視圖不應該「死亡」。 – alex

+0

你爲什麼認爲你需要'die()'? –

+0

我習慣於在Java中標記循環/作用域:-)我只是想知道最簡單的方法來離開作用域而不訴諸返回和設置變量來表明如此離開嵌套的ifs。不過,我已經採取了建議的C風格。 – user960725

回答

3

您不能die()並期望執行將繼續。這是不合邏輯的,不可能的

+0

有沒有辦法讓標籤範圍內的範圍。也許像goto一樣? – user960725

+3

No. Goto真的不鼓勵,這是不可能的。 – genesis

+0

只需在這些html代碼之後放置你的die() – genesis

6

我想這是基於相同的條件,否則就沒有意義。

<html> 
... 
<?php 
.... 
if (! condition) { //skip if not needed 
    ... 
} 
?> 
.... 
</html> 
4

永遠不要在HTML腳本中調用die()。例如,如果您要求die()作爲mysql_query()錯誤檢查的一部分,則應該將呼叫包裝在if()聲明中。當然,這不僅適用於MySQL。您可以使用此代替您撥打die()的任何實例。

// Instead of this... 
$result = mysql_query() or die(); 

// Do this... 
$result = mysql_query(...); 
if (!$result) { 
    $errorstring = "an error occurred producing your data"; 
} 

在HTML中包含大量應用程序邏輯通常被認爲是不好的做法。相反,在腳本的頂部執行這些操作,並將輸出存儲在變量中以供稍後重用。

0

你應該做的是有一個外部的PHP腳本和iframe它進入頁面,或使用jQuery來ajax它。然後,如果它死了什麼都不會顯示在iframe或div(如果你使用jQuery),但你仍然可以死亡