我目前正在开发一个简单的Web系统,因此用户首先会被定向到登录页面,然后是一个处理页面。如果提供的帐户数据正确,它将被定向到主页面,因此它可以执行一些操作,最后它可以注销。
所以我想问的是:如何阻止用户在登录之前访问处理,主页或注销页面,我的意思是,如果我不限制它,登录操作有些无用。我正在使用wamp来开发Web系统。
我考虑过使用会话变量,但是,我不知道如何检查变量的值。如果我在登录页面开始一个会话,那么如果我跳过登录页面但指示转到主页面,我是否在主页面中显示了这些会话变量?
答案 0 :(得分:4)
1)在php页面顶部添加session_start();
以初始化会话。
2)添加if语句
if($_SESSION['logged_in'] == 1) { ..show page.. } else { show login page }
3)创建一个验证数据的登录表单,如果数据正确则添加$_SESSION['logged_in'] = 1;
并使用注销按钮重定向到配置文件页面。
这就是全部:)!
我建议您查看一些教程,因为它会为您提供更多信息 - http://www.intechgrity.com/create-login-admin-logout-page-in-php-w/或通过谷歌的任何其他链接 - “如何使用SESSIONS创建登录/注销功能”。
关于您的问题,在每个页面中,您将session_start();
放在文件的开头,它们将包含您为用户指定的所有会话。
修改强>
添加了一些有用的链接 -
http://www.php.net/manual/en/book.session.php
答案 1 :(得分:0)
<?
session_start();
if(!$_SESSION['username']){
header("Location: HTTP/1.1 404 File Not Found", 404);
exit;}
?>
您还可以创建一个新文件并将此代码放在那里,以便您在访问它之前需要用户登录的每个页面上调用它....
答案 2 :(得分:0)
但是第一次尝试访问非登录页面然后您将被重定向到登录页面,然后尝试访问相同的非登录页面,即使您没有登录,您也可以第二次访问该页面