我现在在任何地方都找不到这个,正在寻找一个快速的答案。
使用网页名称.php?错误=1的功能是什么?
基本上我想使用它,以便在登录时发生错误时,我可以将它们重定向到带有不同消息说错误的页面。
我试过使用
header('Location: loginpage.php');
echo '<p class="error">Error Logging In!</p>';
但什么都没有出现。谢谢!
您可以通过两种方式做到这一点!
-1:
在 URL 中使用类似参数
header('Location: loginpage.php?error=1');
在登录页面中.php在 JavaScript 部分中检查 URL 是否包含错误!
看看这个链接
只需将"Q"替换为错误!
创建一个函数并检查是否包含错误
显示错误消息!
<script>
function logincheck(){
// code
}
if(logincheck()){
// do something
//alert('error');
// or append a error in html element
}
</script>
您可以在PHP中检查此查询字符串,但JavaScript方式更好
-阿拉伯数字
使用会话
验证后设置带有错误消息的会话喜欢这个:
$_SESSION['login_error'] = 'error in login!';
并在登录页面中.php
检查该会话是否有值,向用户显示该值,并取消设置会话
喜欢这个:
if(isset($_SESSION['login_error'])){
echo '<p class="error">Error Logging In!</p>';
unset($_SESSION['login_error']);
}
当你做标题时,你已经重定向到登录页面.php您应该将错误消息放在登录页面.php。
或者您可以通过执行以下操作来保持重定向
header('Refresh: 3;url=loginpage.php');
在 3 秒后重定向;
在处理登录检查的页面上,如果登录失败:
header('Location: loginpage.php?error=1');
在登录页面中.php将代码放置在您希望显示消息的位置:
<?php
If ($_GET['error']==1) {echo "login error!"} elseif ($_GET['error']==2) { echo some other message } .....
?>
url 中 ?error=1 的目的是通过 URL 传递值为 1 的名为 ERROR 的变量,该变量可通过 $_GET 访问重定向目标页面