我正在构建一个大型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
,它会显示错误,即使用户从未提交过表单。有人对如何正确执行此操作有什么建议吗?谢谢
处理错误的最佳方法是
- 404505303相关错误,您可以重定向到标准错误页面。根据错误状态动态处理错误消息
- 与字段信息相关的错误、错误的条目以及即将出现的错误。处理同一页上的内容并在那里显示
你有没有想过用一个简单的方法来阻止对这个页面的直接访问,比如:如果用户完成了表单,你就创建了一个常量(比如$_SESSION['formComplete'] = true;
),并在你想要控制错误的页面中放一个脚本来检查是否设置了常量,否则重定向到另一个页面。这里有一个示例:
if(empty($_SESSION['formComplete'])) {
header("location:index.php");
die();
}