die()但仅在<;范围内;?php?>;标签?

die()但仅在<;范围内;?php?>;标签?,php,Php,如果我有如下代码: <html> ... <?php .... die(); ?> .... </html> ... .... 然后整个页面执行停止,最终的html不会显示。有没有办法只将php保留在所附的php标记中?您不能die()并期望执行将继续。这是不合逻辑和不可能的我想这是基于同样的条件,否则就没有意义了 <html> ... <?php .... if (! condition) { //skip if not needed

如果我有如下代码:

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

...
....

然后整个页面执行停止,最终的html不会显示。有没有办法只将php保留在所附的php标记中?

您不能
die()
并期望执行将继续。这是不合逻辑和不可能的

我想这是基于同样的条件,否则就没有意义了

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

...
....
永远不要在HTML脚本中调用
die()
。例如,如果调用
die()
作为
mysql\u query()
错误检查的一部分,则应该将调用包装在
If()
语句中。当然,这不仅仅适用于MySQL。您可以使用它来代替调用
die()
的任何实例


通常认为在HTML中包含大量应用程序逻辑是不好的做法。相反,在脚本顶部执行这些操作,并将输出存储在变量中以供以后重用。

您应该做的是使用一个外部php脚本并将其框架化到页面中,或者使用jquery将其ajax化。如果它死了,iframe或div(如果使用jquery)中将不会显示任何内容,但您仍然可以死

是否有办法将范围保留在标记中。可能是像goto这样的东西?不。goto是不受欢迎的,而且是不可能的。试着使用一种控制结构,比如你的HTML视图永远不会
die
。为什么你认为你需要
die()
?我习惯于在Java中标记循环/作用域:-)我只是想知道离开作用域的最简单方法,而不需要返回和设置变量来指示离开嵌套的ifs。然而,我已经按照建议采用了C风格,或者更好地使用模板引擎或框架,并将应用程序/业务逻辑与HTML分离。
// Instead of this...
$result = mysql_query() or die();

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