如何以正确的方式向用户显示错误


How to display errors to the users in a proper way?

我正在构建一个大型Web应用程序,我需要一个像样的系统来向用户显示错误(使用PHP和非侵入式JavaScript)。到目前为止,当检测到错误时,应用程序会重定向到error.php页面,并根据链接显示一条消息。

例如,如果用户在accountCreation.php空白中提交表单,则它重定向到www.example.com/error/FIELD_IS_EMPTY,然后error.php检索要显示的消息并打印它,如下所示:

switch ($_GET['message']) {
case 'FIELD_IS_EMPTY':
    echo "You can't leave the field blank.";
    break;
case 'TOO_LONG':
    echo "Text must be shorter than 128 characters.";
    break;
default:
    break;
}

至少它是有效的,但我不知道这是否是一种可扩展的方法。此外,如果有人进入www.example.com/error/FIELD_IS_EMPTY,它会显示错误,即使用户从未提交过表单。有人对如何正确执行此操作有什么建议吗?谢谢

处理错误的最佳方法是

  1. 404505303相关错误,您可以重定向到标准错误页面。根据错误状态动态处理错误消息
  2. 与字段信息相关的错误、错误的条目以及即将出现的错误。处理同一页上的内容并在那里显示

你有没有想过用一个简单的方法来阻止对这个页面的直接访问,比如:如果用户完成了表单,你就创建了一个常量(比如$_SESSION['formComplete'] = true;),并在你想要控制错误的页面中放一个脚本来检查是否设置了常量,否则重定向到另一个页面。这里有一个示例:

if(empty($_SESSION['formComplete'])) {
    header("location:index.php"); 
    die();
}