php隐藏头中传递的变量

php隐藏头中传递的变量,php,header,Php,Header,首先:我发现了很多类似的问题,但没有找到我想要的(可能是因为我英语不好) 第二:我想知道是否可以用PHP做我需要的事情(不是JS/AJAX/任何东西) 好的,动手吧: 我有一个常见的登录表单,当点击“提交”时,它调用一个php函数来进行sql查询 我想重定向到登录页面,并在表单中打印一条消息,说明用户/通行证不正确 代码 $login = login($conn); $rowcount=mysqli_num_rows($login); if ($rowcount

首先:我发现了很多类似的问题,但没有找到我想要的(可能是因为我英语不好)

第二:我想知道是否可以用PHP做我需要的事情(不是JS/AJAX/任何东西)

好的,动手吧:

我有一个常见的登录表单,当点击“提交”时,它调用一个php函数来进行sql查询

我想重定向到登录页面,并在表单中打印一条消息,说明用户/通行证不正确

  • 代码

        $login = login($conn);
    
        $rowcount=mysqli_num_rows($login); 
    
        if ($rowcount == 0)
            {
                header('Location:login.php?msg='.urlencode('<p style="color:red" align="center">Usuario o password incorrecto</p>'));
    
    $login=login($conn);
    $rowcount=mysqli\u num\u行($login);
    如果($rowcount==0)
    {
    标题('Location:login.php?msg='.urlencode('

    Usuario o password incorrecto

    );
那代码很有效,在这里潜伏时发现的

在那之后,在表单中,我只是对$_GET['msg']做了一个回应,并且工作得非常完美

但是!!!!URL显示为:

myurl/login.php?msg=<p+style%3D"color%3Ared"+align%3D"center">Usuario+o+password+incorrecto<%2Fp>
myurl/login.php?msg=Usuario+o+password+incorrecto
太可怕了


是否有任何方法可以传递某种隐藏信息?

尝试使用session:use session\u start()在顶部:

if($rowcount==0)
{
标题('Location:login.php');
$\u SESSION['msg']=urlencode('

Usuario o password incorrecto

); }

然后在你的页面上调用你的会话变量“login.php”。

为什么你需要在url中传递样式?你可以在显示错误消息时设置样式(css)。我知道,我尝试了不同的方法使其工作,唯一有效的方法是传递字符串,我还没有处理css。编辑…damm输入,但除了“样式”我不想显示的是因为它看起来很糟糕,“p+style%3D”color%3Ared“+align%3D”center“>Usuario+o+password+incorrecto”想用一个变量或类似的东西来更改它Hi rhonexiled。我这样做了,但没有显示:我在文本应该出现的地方画了一条线。在login.php中添加“session_start();”然后调用变量:“echo$_SESSION['msg'];”当你想让它显示时。太棒了,它现在正在工作,但我仍然需要做一些调整。如果我按F5,会话将保持充电,所以我需要一个条件来发布它,问题是,使用的任何变量都是从缓存中检索的。我正在制作一个非缓存页面,但还没有工作。顺便说一句,谢谢pall!
if ($rowcount == 0)
    {
        header('Location:login.php');
        $_SESSION['msg'] = urlencode('<p style="color:red" align="center">Usuario o password incorrecto</p>');
    }