我的网站上有一个登录表单,用于检查提交的用户名/密码.如果没有匹配,则将用户发送回登录页面并显示相应的错误消息.对此重定向的调用是这样的:
header("location:../login.php?error_message=$error_message");
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但在浏览器的地址栏中看起来很麻烦(特别是描述性错误消息).有没有办法在不使用$ _GET变量的情况下进行自动重定向?我曾考虑使用$ _SESSION变量,但这似乎不是最好的编码实践.
谢谢阅读.
那么有一个更简单的GET变量呢?
// something.php
header ("Location: foo.php?err=1");
Run Code Online (Sandbox Code Playgroud)
然后在处理错误的页面中:
// foo.php
$errors = array (
1 => "Hello, world!",
2 => "My house is on fire!"
);
$error_id = isset($_GET['err']) ? (int)$_GET['err'] : 0;
if ($error_id != 0 && in_array($error_id, $errors)) {
echo $errors[$error_id];
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
9232 次 |
| 最近记录: |