所以我正在为我的网站进行错误处理。我希望能够使用
激活错误处理程序include_once( “errorhandler.php”);
到目前为止它工作得很好,如果发生错误则显示错误,但是我正面临另一个问题。我做了一个名为“test.php”的php文件,看起来像这样:
<?php
include("errorhandler.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<h1>My awesome page :D</h1>
<?php
mysql_connect("test","test");
opendir("test");
?>
</body>
</html>
现在的问题是,显示错误但是也会显示标题,因为它会在脚本崩溃并启动错误处理程序之前执行该部分。
它使页面看起来像这样:
基本上,我需要错误处理程序在写入Html之前清除所有内容。
我尝试过使用<script> document.write('');</script>
在我的错误处理方法的开头,没有运气。
所以现在我坚持这个,关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
put die();在包含之后,将停止运行该页面的其余部分,或者在您的例外中包含if if (exception) { //do include } else { //show normal code }
答案 1 :(得分:0)
您可以尝试将html放在函数中:
public function render() {
$this->ht_content = '<html> Your html </html>';
return $this->ht_content;
}
然后在你的错误处理程序中你可以这样说:
if($errors) {
// Error stuff here
} else {
$ht = new html();
$ht->render();
}
你可以根据自己的需要做大而好的事情:)
答案 2 :(得分:0)
已使用ob_clean();
在错误处理程序的开头,所以当它发生时它会清理页面!