好得很程序员自学网

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

php cookie登录验证代码 - php会话

php cookie登录验证代码

提供一款可以自动cookie登录方法,用户可以在登录时选择保存进程几天几个月等,我们只要进来页面时判断一下就KO了。

html页面

<html>  <head>  <title>Login</title>  <meta http-equiv= "Content-Type"  content= "text/html; charset=gb2312" >  </head>   <body>  <form name= "form1"  method= "post"  action= "login.php" >  <table width= "300"  border= "0"  align= "center"  cellpadding= "2"  cellspacing= "2" >      <tr>        <td width= "150" ><div align= "right" >用户名:</div></td>        <td width= "150" ><input type= "text"  name= "username" ></td>      </tr>      <tr>        <td><div align= "right" >密码:</div></td>        <td><input type= "password"  name= "passcode" ></td>      </tr>      <tr>        <td><div align= "right" >Cookie保存时间:</div></td>        <td><select name= "cookie"  id= "cookie" >          <option value= "0"  selected>浏览器进程</option>          <option value= "1" >保存1天</option>          <option value= "2" >保存30天</option>          <option value= "3" >保存365天</option>        </select></td>      </tr>  </table>  <p align= "center" >      <input type= "submit"  name= "Submit"  value= "Submit" >      <input type= "reset"  name= "Reset"  value= "Reset" >  </p>  </form>  </body>  </html> 

login.php

<?php  @mysql_connect( "localhost" ,  "root" , "1981427" )      //选择数据库之前需要先连接数据库服务器   or   die ( "数据库服务器连接失败" );  @mysql_select_db( "test" )       //选择数据库mydb   or   die ( "数据库不存在或不可用" );  //获取用户输入   $username  =  $_POST [ 'username' ];  $passcode  =  $_POST [ 'passcode' ];  $cookie    =  $_POST [ 'cookie' ];  //执行SQL语句   $query  = @mysql_query( "select username, userflag from users "   . "where username = '$username' and passcode = '$passcode'" )  or   die ( "SQL语句执行失败" );  //判断用户是否存在,密码是否正确   if ( $row  = mysql_fetch_array( $query ))  {  if ( $row [ 'userflag' ] == 1  or   $row [ 'userflag' ] == 0)     //判断用户权限信息是否有效   {      switch ( $cookie )          //根据用户的选择设置cookie保存时间      {       case  0:          //保存Cookie为浏览器进程        setcookie( "username" ,  $row [ 'username' ]);        break ;       case  1:          //保存1天        setcookie( "username" ,  $row [ 'username' ], time()+24*60*60);        break ;       case  2:          //保存30天        setcookie( "username" ,  $row [ 'username' ], time()+30*24*60*60);        break ;       case  3:          //保存365天        setcookie( "username" ,  $row [ 'username' ], time()+365*24*60*60);        break ;     }     header( "location: main.php" );       //自动跳转到main.php   }  else   {      echo   "用户权限信息不正确" ;  }  }  else   {  echo   "用户名或密码错误" ;  }  ?> 

main.php

<?php  session_start();  if (isset( $_COOKIE [ 'username' ]))  {  @mysql_connect( "localhost" ,  "root" , "1981427" )      //选择数据库之前需要先连接数据库服务器   or   die ( "数据库服务器连接失败" );  @mysql_select_db( "test" )       //选择数据库mydb   or   die ( "数据库不存在或不可用" );  //获取Session   $username  =  $_COOKIE [ 'username' ];  //执行SQL语句获得userflag的值   $query  = @mysql_query( "select userflag from users "   . "where username = '$username'" )  or   die ( "SQL语句执行失败" );  $row  = mysql_fetch_array( $query );  //获得用户权限信息   $flag  =  $row [ 'userflag' ];  //根据userflag的值输出不同的欢迎信息   if ( $flag  == 1)      echo   "欢迎管理员" . $_SESSION [ 'username' ]. "登录系统" ;  if ( $flag  == 0)      echo   "欢迎用户" . $_SESSION [ 'username' ]. "登录系统" ;  echo   "<a href=" logout.php " mce_href=" logout.php ">注销</a>" ;  }  else   {  echo   "您没有权限访问本页面" ;  }  ?> 

logout.php

<?php  setcookie( "username" );  echo   "注销成功" ;  ?> 

查看更多关于php cookie登录验证代码 - php会话的详细内容...

  阅读:46次