频道栏目
首页 > 资讯 > Cookie&Session > 正文

php cookie登录验证代码

16-01-07        来源:[db:作者]  
收藏   我要投稿
提供一款可以自动cookie登录方法,用户可以在登录时选择保存进程几天几个月等,我们只要进来页面时判断一下就OK了。
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="http://www.php1.cn/">logout.php" mce_href="http://www.php1.cn/">logout.php">注销</a>"; 
} 
else 
{ 
echo "您没有权限访问本页面"; 
} 
?> 
logout.php
<?php 
setcookie("username"); 
echo "注销成功"; 
?> 
相关TAG标签
上一篇:php中利用cookie实现购物车实例
下一篇:正则应用实例-简单模仿smarty
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站