1

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

说我有这个代码:

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。它效率不高,并且限制了我的能力。

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

我只想要漂亮的错误消息。这是不是要求太过分了?

4

1 回答 1

0

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

于 2012-06-27T13:57:48.943 回答