Php 在URL末尾添加#error时如何在HTML中显示内容

Php 在URL末尾添加#error时如何在HTML中显示内容,php,html,Php,Html,这就是我的情况,我有一个登录页面,在functions文件夹中有一个php,比如页面是example.com/login.php,一旦登录错误,它就会重定向到example.com/login.php#error 本质上,我正在试图找出如何添加只在“错误”页面上显示的代码。使用url重定向,如下所示: example.com/login.php?error=here\u消息 然后,使用此代码获取消息: <?php if(isset($_GET['error'])){ echo $_

这就是我的情况,我有一个登录页面,在functions文件夹中有一个php,比如页面是example.com/login.php,一旦登录错误,它就会重定向到example.com/login.php#error


本质上,我正在试图找出如何添加只在“错误”页面上显示的代码。

使用url重定向,如下所示:

example.com/login.php?error=here\u消息

然后,使用此代码获取消息:

<?php
if(isset($_GET['error'])){
    echo $_GET['error'];
      }
?>

假设您在某种程度上受到限制,无法使用哈希(#error),您可以使用好的旧javascript。我根据这一旧的回答改编了以下解决方案:


您应该将页面重定向到
example.com/login.php?error
,而不是
example.com/login.php?error
,这样您就可以使用
$\u GET
superglobal捕获状态并显示适当的错误消息,类似这样:
如果(isset($\u GET['error']){/*显示错误消息*/}
@RajdeepPaul,非常好,非常好,谢谢,我只是把我的url example.com/login.php?弄错了,然后用if(isset($\u GET['error']){echo“login Failed”;}不受限制,但是没有受过php教育,只是个初学者。我最终使用了?error,但感谢您的回复。如果我被限制在散列中,我会记住这一点。
if(window.location.hash) {
  var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
  if(hash=="error") {  
    // Handle error
  }
}