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

时间:2012-02-18 09:44:20

标签: php user-interface error-handling

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

例如,如果用户提交accountCreation.php空白的表单,则会重定向到www.example.com/error/FIELD_IS_EMPTY,然后error.php检索要显示的消息并将其打印出来,如下所示:< / p>

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,即使用户从未提交过表单,也会显示错误。有没有人对如何正确地做这个有任何建议?谢谢!

2 个答案:

答案 0 :(得分:-1)

处理错误的最佳方法是

  1. 404,505,303相关错误,您可以重定向到标准错误页面。哪个是根据错误状态动态处理错误消息
  2. 与字段信息,错误条目相关的错误很快就会出现。处理那些在同一页面上并在那里显示它。

答案 1 :(得分:-1)

您是否认为使用以下简单方法阻止对此页面的直接访问:如果用户填写表单,则创建常量(如$_SESSION['formComplete'] = true;)并在您要控制错误的页面中用于检查是否设置常量的脚本,否则重定向到另一页面。这里有一个样本:

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