微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PHP中将值从页面传递到另一个

我发送登录状态=失败,回到我的登录页面.这是我的代码

header("location:index.PHP?login=fail");

但这是通过URL发送像 –

http://localhost/303/index.PHP?login=fail

有没有办法传递价值而不显示在URL中?以及如何在第二页上获得此值?

解决方法:

您通过GET请求传递该值,这就是它出现在URL中的原因.为了传递值而不在URL中显示它,您希望通过POST请求传递它.

为此,您不希望将值“返回”到登录页面.相反,无论PHP表单在处理用户单击“登录”按钮后登录的过程,都将决定向用户显示内容.

PHP中,post变量可以通过全局$_POST对象访问 –

$_POST['username'];

将获得您通过POST传递的名称“username”的值:

<form method="post" action="checkLogin.PHP">
Username:
<input type="text" name="username" maxlength="25" />
Password: 
</td><td><input type="password" name="password" />
<input type="submit" name="submit" value="Login">
</form>

为了动态保存并向用户显示错误,您可以将它们存储在会话中,例如,有一个名为“errors.PHP”的文件.

<?PHP
if (isset($_SESSION['errors']))
{
    echo $_SESSION['errors'];
}

unset($_SESSION['errors'])
?>

在你的PHP中检查登录,执行:

session_start();
$_SESSION['errors'] = "Invalid username or password.";

然后重定向到您的登录页面(不要传递任何变量),并在您的表单上始终有此字段:

<?PHP include("errors.PHP"); ?>

如果您没有任何错误,它将不会显示任何内容,登录页面看起来很正常.

注意:在任何使用session_start()的PHP表单中,它都是表单中的第一个.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐