繁体   English   中英

如何使用php在弹出窗口中显示服务器端错误消息

[英]How to show a server side error message in a popup using php

我在这里找到了一些类似的问题,但它们都在C#中。

因此,请告诉我使用弹出窗口显示服务器端错误消息的最简单方法。

弹出窗口可能是thickbox,modalpopup等。

这是示例代码。 我没有在弹出窗口中收到错误消息。

<script type="text/javascript" src="thickbox/jquery-latest.js"></script>
<script type="text/javascript" src="thickbox/thickbox.js"></script>
<link href="thickbox/thickbox.css" rel="stylesheet" type="text/css" />



<span class="prtexterror" style="color:#FF0000;display:none;" id="hiddenModalContent" >{$error_login}</span>


{literal}
<script language="javascript" type="text/javascript">



  $(document).ready(function() {
    tb_show("Please, login", "?tb_inline=true&inlineId=hiddenModalContent&height=180&width=300&modal=true", null);
});



</script>
{/literal}

任何其他方式始终受到欢迎。 提前致谢

通常,除非将.ini设置“ display_errors”设置为off,否则PHP会在发生错误时将其喷入输出HTML流中。 如果要在模式弹出窗口中显示它们(警报框,浮动div等),则必须在脚本中添加适当的逻辑以捕获它们:

<?php

$val = some_function_that_causes_an_error();
if (error_get_last()) {
    $lasterror = error_get_last();
}

error_get_last()返回一个数组, 单击指向PHP文档的链接以查看格式是什么。

稍后,您必须在页面中将错误转换为所需的任何格式。 基本设置为:

<script type="text/javascript">

var errmsg = <?php echo json_encode($lasterror) ?>;

alert('Server error of type ' + errmsg.type + ' at line ' + errmsg.line + ' in script ' + errmsg.file + ': ' + errmsg.message);

</script>

另外,请记住,致命错误(语法错误,内存不足等)不会被捕获,并且会中止脚本,因此,除非您通过AJAX访问脚本,否则将获得空白页或以PHP错误消息结尾的部分页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM