【发布时间】:2020-05-22 11:34:09
【问题描述】:
我有一个使用 PHP 构建网页的网络应用程序。
程序输出 HTML 页面标题,然后大部分代码正在构建和编写 JavaScript 数据,如果我的代码有问题,HTML 格式的 PHP 错误消息会与 JS 代码混合在一起,所以也会没有出现在浏览器中,因此用户会看到一个没有错误消息的空白屏幕,我需要一个“显示源”才能看到消息。
以下是程序输出的源代码示例,带有 PHP 错误消息:
' node [fontname = "Helvetica-Bold", ',
' color="#ffc68c", ',
' fontcolor="#000000", ',
' fontsize=10, ',
' shape=box, ',
' style="rounded,filled"]; ',
' edge [fontname = "Helvetica-Bold", penwidth="3", color="white"];',
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/u/jocs065/ihsconfig/ihs/jocs065/cgi-bin/phpNoSecure/graphBuild.php</b> on line <b>739</b><br />
'}',
];
</script>
中间的forEach() 是PHP 错误消息,它不会出现在正在构建的网页上。
有什么方法可以让用户看到这个错误?
【问题讨论】:
-
您可以尝试在代码中添加错误捕获元素。如果检测到错误,则继续执行并将错误放入页面,它会返回一个不同的页面,其中详细信息位于脚本标记之外,因此可以通过浏览器看到。
-
@Francesco 好的 - 我会调查的。我对 PHP 很陌生。
-
是的,对不起。您可以将部分代码包含在 try-catch 块中,并将代码的结果保存在字符串变量中。如果代码没有错误,则回显包含在脚本标签中的字符串,否则显示您选择的错误。
标签: javascript php error-handling