2011-09-23 35 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),但你仍然可以死亡