Php -- 快速解释如何使用 webpage.php?error=1

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

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

使用 webpagename.php?error=1?

的功能是什么

基本上我想使用它,以便在发生登录错误时,我可以将他们重定向到带有不同消息提示错误的页面。

我尝试使用

header('Location: loginpage.php');
echo '<p class="error">Error Logging In!</p>';

但什么也没有出现。谢谢!

当您执行 header 时,您已经重定向到 loginpage.php 你应该把错误信息放在 loginpage.php.

或者您可以通过执行类似

的操作来保持重定向
header('Refresh: 3;url=loginpage.php');

3 秒后重定向;

您可以通过两种方式做到这一点!

-1:

像 URL

中的参数一样使用
header('Location: loginpage.php?error=1');

in loginpage.php in JavaScript section 检查 URL 是否包含错误!

看看这个link

只需将 "q" 替换为错误即可!

创建一个函数并检查是否包含错误

显示错误信息!

<script>
function logincheck(){
 // code
}

if(logincheck()){
// do something
//alert('error');
// or append a error in html element
}
</script>

您可以在 php 中检查此查询字符串,但 JavaScript 方法更好

-2

使用会话

验证后设置带有错误消息的会话 像这样:

$_SESSION['login_error'] = 'error in login!';

并在 loginpage.php

检查该会话是否有值,向用户显示并取消设置会话

像这样:

if(isset($_SESSION['login_error'])){
   echo '<p class="error">Error Logging In!</p>';
   unset($_SESSION['login_error']);
}

在处理登录检查的页面,如果登录失败:

header('Location: loginpage.php?error=1');

在 loginpage.php 内放置要显示消息的代码:

<?php
If ($_GET['error']==1) {echo "login error!"} elseif ($_GET['error']==2) { echo some other message } .....
?>

url中?error=1的目的是通过URL传递一个名为ERROR的值为1的变量,该变量可以通过$_GET[访问重定向目标页面=12=]