好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 简单的登入登出实例程序(session) - 综合实例

php 简单的登入登出实例程序(session)

利用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分钟

PS: 本文是个范例,用简单的代码来做说明,实际应用中会采用更加复杂的控制机制。

查看更多关于php 简单的登入登出实例程序(session) - 综合实例的详细内容...

  阅读:44次