0

だから私は自分のサイトのエラー処理を行っています。を使用してエラーハンドラーをアクティブにできるようにしたい

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>

私のエラー処理方法の開始時に、運が悪かった。

だから今、私はこれで立ち往生しています、これを解決する方法についてのアイデアはありますか?

4

3 に答える 3

0

put die(); インクルードの後、ページの残りの部分の実行を停止するか、例外をラップします。if (exception) { //do include } else { //show normal code }

于 2013-03-15T10:48:23.850 に答える
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();
}

あなたはこれを好きなだけ大きくて素敵にすることができます:)

于 2013-03-15T10:50:58.487 に答える
0

エラー ハンドラの開始時に使用されるob_clean(); ため、エラーが発生するとページがクリーンアップされます。

于 2013-03-15T10:52:32.130 に答える