【发布时间】:2014-03-17 18:59:03
【问题描述】:
我目前有一个登录表单,如果登录成功,它会将用户重定向到另一个页面。该页面应该是一个受保护的页面,如果用户未登录,该页面将不会为用户打开,并将其重定向到登录表单页面。
为了做到这一点,我将登录数据(电子邮件和密码)存储为会话变量,并使用这些变量来验证是否允许用户查看页面。
在我的登录 php 页面中,我有以下代码
<?php
session_start();
if ($count == 1) {
$_SESSION['logged'] = 1;
$_SESSION['email'] = $myemail;
$_SESSION['password'] = $mypassword;
header("Location: account.html");
exit();
}
?>
我的帐户 html 文件从以下内容开始:
<?php
session_start();
if ($_SESSION['logged'] != 1) { //no session
header("Location:memberlogin.html");
exit();
}
?>
但是,每当我加载帐户页面时,我每次都可以查看它。这是我第一次使用 Session 变量,我不确定我是否正确使用它。
FIXED 感谢以下建议
我调整了下面建议的代码,我的受保护页面现在可以工作了。感谢大家的帮助。
【问题讨论】:
-
不要在会话中存储密码。你永远不需要它。
-
我没有看到
session_start()anyhwere -
无法从 html 页面引用 php 代码。先将
account.html更改为account.php。 -
@JohnConde session_start() 遗漏的是复制粘贴错误。我已经编辑了代码。
-
@mutiemule 感谢您的信息。