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会话的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did29743