PHP:通过表单发送一个常量并自动发送它

时间:2013-11-25 19:30:07

标签: php forms web

对于网站,我需要将用户路由到他们自己的页面。我有一个登录表单,它将数据发送到PHP文件以检查用户的信息是否正确,如果是,则将用户转发到他们的页面。唯一的问题是我需要在到达时验证用户,检查他们是否已登录或只是输入了URL。我计划在POST时使用它,但是如何自动发送常量(即“登录”)?有没有办法通过HTML表单(从echo输出)并在页面加载时发送它?提前谢谢!

编辑1:我知道我必须使用会话,但每当页面重定向时,它都会清除会话。我问这个的全部原因是因为我需要一种方法来保持会话活跃。如何以不清除会话的方式重定向?

1 个答案:

答案 0 :(得分:0)

在验证其凭据的PHP文件中,启动“会话”。然后,您可以应用会话有效时可以随时调用的会话变量。您可以使用POST执行此操作,听起来就像您正在使用的那样,或者在验证时查询数据库。

例如,在验证时:

session_start();
$_SESSION['username'] = $_POST['username'];
$security_check = mysql_query("SELECT * FROM userList WHERE username = '$username'");
$row = mysql_fetch_assoc($security_check);
$_SESSION['userId'] = $row['userId'];
$_SESSION['userFullName'] = $row['userFullName'];

在后续页面中,您可以将以下代码放在顶部以检查用户是否已登录。如果没有,则会将其踢回索引页面;否则将维护$ _SESSION变量。

<?php
session_start();
if (!isset($_SESSION['userId'])) {
    echo "<script> window.location.replace('index.php?login=no') </script>";
}
?>

正如评论中所建议的,我建议对会议进行一些进一步的研究,以充分了解它们的工作原理。