PHP错误/成功重定向

时间:2012-06-27 13:53:54

标签: php exception-handling

我对PHP错误有很好的理解(我不像以前那样使用或死())但我仍然不完全理解如何以一种方式向用户传递致命错误消息左上角不是纯文本。

说我有这段代码:

try {  
$conn = new PDO("mysql:host=host; dbname=userDB", $username, $password); 
$stmt = $conn->prepare("UPDATE employee SET password = :newpass WHERE password = :tempPass");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt->execute(array('tempPass' => $tempPass, 'newpass' => $newpassword));
echo'success!<br>';
echo"<a href='main_login.php'>Back</a>";

    }  
catch(PDOException $e) {  
        echo 'ERROR:   '. $e->getMessage();  
    }   

这一切都很好,但不管它是否成功,都是一个肯定的丑陋信息。

我应该将用户重定向到其他页面以传递此消息吗?

如果是这样,我应该如何将消息存储/传输到单个页面?我不想创建user_success.php,user_failure.php,user_epic_failure.php,every_other_case.php。它效率不高,限制了我能做的事情。

我听说将这些消息存储到会话错误变量中是一种很好的方法,但这是最好的方法吗?是否应该有一个专用的错误页面和专用的成功页面,它只是作为模板传递给我的消息?

我只想要漂亮的错误消息。有这么多要问吗?

1 个答案:

答案 0 :(得分:0)

永远不会向用户显示系统错误消息,这可能会提供有关您系统的潜在黑客信息。如果发生致命错误,您将从catch子句重定向到一般错误页面。
对于所有其他不会导致致命错误并停止代码执行的错误,只需继续执行代码并在必要时在页面顶部显示错误消息。