PHP -- 快速解释如何使用网页.php?错误=1


Php -- quick explanation how to use webpage.php?error=1

我现在在任何地方都找不到这个,正在寻找一个快速的答案。

使用网页名称.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 访问重定向目标页面