php 简单的登入登出实例程序(session)
发布:smiling 来源: PHP粉丝网 添加日期:2014-02-21 08:23:38 浏览: 评论:0
利用php实例登入登出我们一般会借助于session来保存记录用户登录成功的信息,然后退出时我们再使用unset来清除session即可实现用户登入登出功能了,下面我来介绍一个简单的实例。
关于会话处理:
HTTP 是一种无状态的协议,说明每次请求的处理都与之前或之后的 请求无关,但是为了能够调整用户特有的行为和首选项,出现了一种在客户端存储少量信息(常称为cookie)的实践,但由于 cookie 大小的限制、所允许的 cookie 数量以及 cookie 的实现上的各种不一致,出现了另外一种解决方案:会话处理。
会话处理的实现方式是为每位网站访问者分配一个称之为会话 ID(SID)的唯一标识属性,然后将此 SID 与任意数量的数据关联。
开始会话:session_start();
创建会话变量:$_SESSION['username'] = “jason”;
删除会话变量:unset($_SESSION['username']);
简单的登入登出,实例代码如下:
- $supervisor = "admin";
- $superpsw = "passwd";
- // 检查是否提交表单
- if (isset($_POST['superadmin']))
- {
- if (!($_POST['supername'] == $supervisor) || !($_POST['superpass'] == $superpsw))
- {
- echo "用户名或密码错误";
- exit;
- }
- else
- {
- session_start();
- $_SESSION["superlogin"] = $_POST['supername'];
- }
- } else {
- session_start();
- // 检查是否设置了会话变量,即是否已经登入,如果没有,显示登入页面
- if (! isset($_SESSION["superlogin"]) )
- {
- echo "<form name='form1' method='post' action='$_SERVER[PHP_SELF]'>";
- echo "<div align='center'>请输入管理员密码<br />";
- echo "管理员";
- echo "<input type='text' name='supername'><br />";
- echo "密 码";
- echo "<input type='password' name='superpass'><br />";
- echo "<input type='submit' name='superadmin' value='进入'><br />";
- echo "<input type='reset' name='cancel' value='重写'></div>";
- echo "</form>";
- exit;
- }
- }
- // 由用户销毁会话变量,登出
- if (isset($_GET['logout'])) {
- unset($_SESSION['superlogin']);
- header("Location:index.php");
- }
假设将此文件命名为include.php,将其包含到要验证登入的页面即可,例如 index.php,实例代码如下:
- <?php
- require “include.php”;
- ?>
- <html>
- <head>
- <title>管理</title>
- <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
- </head>
- <body>
- <p><a href=”index.php?logout=1″>登出</a>
- <p>欢迎进入</p>
- </body>
- </html>
如此访问 index.php 页面时将进入登入页面,登录后显示 index.php 页面内容,这个过程一直持续到用户结束会话,如关闭浏览器或点击注销按钮,但是会话本身在PHP服务器有一个默认的生存期。
有效会话的持续时间由 php.ini 所控制,默认为1440秒,即24分钟
session.gc_maxlifetime = 1440
PS:本文是个范例,用简单的代码来做说明,实际应用中会采用更加复杂的控制机制。
Tags: php 简单 登入 登出 实例程序
- 上一篇:php+ajax实现无刷新的新闻留言系统
- 下一篇:PHP简单计数器实例程序
相关文章
- ·PHP+TEXT留言本(一)(2013-11-11)
- ·PHP+TEXT留言本(二)(2013-11-11)
- ·PHP+TEXT留言本(三)(2013-11-11)
- ·PHP+TEXT留言本(四)(2013-11-11)
- ·PHP+TEXT留言本(五)(2013-11-11)
- ·PHP+TEXT留言本(六)(2013-11-11)
- ·PHP+MYSQL留言本(一)(2013-11-16)
- ·PHP+MYSQL留言本(二)(2013-11-16)
- ·PHP+MYSQL留言本(三)(2013-11-16)
- ·PHP设计聊天室步步通(一)(2013-11-16)
- ·PHP设计聊天室步步通(二) (2013-11-16)
- ·PHP设计聊天室步步通(三) (2013-11-16)
- ·PHP设计聊天室步步通(四) (2013-11-16)
- ·php注册页面代码(mysql+php)(2013-12-11)
- ·php 用户注册页面代码(2013-12-11)
- ·php写的网页计数器代码(2013-12-11)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)