最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

php cookie登录验证代码

时间:2014-06-09 16:40来源: 作者: 点击: 次
提供一款可以自动cookie登录方法,用户可以在登录时选择保存进程几天几个月等,我们只要进来页面时判断一下就KO了。 html页面 html head titleLogin/title metahttp-equiv= Content-Type content= text/html;chars

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

html页面

  1. <html> 
  2. <head> 
  3. <title>Login</title> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  5. </head>  
  6. <body> 
  7. <form name="form1" method="post" action="login.php"> 
  8. <table width="300" border="0" align="center" cellpadding="2" cellspacing="2"> 
  9.     <tr> 
  10.       <td width="150"><div align="right">用户名:</div></td> 
  11.       <td width="150"><input type="text" name="username"></td> 
  12.     </tr> 
  13.     <tr> 
  14.       <td><div align="right">密码:</div></td> 
  15.       <td><input type="password" name="passcode"></td> 
  16.     </tr> 
  17.     <tr> 
  18.       <td><div align="right">Cookie保存时间:</div></td> 
  19.       <td><select name="cookie" id="cookie"> 
  20.         <option value="0" selected>浏览器进程</option> 
  21.         <option value="1">保存1天</option> 
  22.         <option value="2">保存30天</option> 
  23.         <option value="3">保存365天</option> 
  24.       </select></td> 
  25.     </tr> 
  26. </table> 
  27. <p align="center"> 
  28.     <input type="submit" name="Submit" value="Submit"> 
  29.     <input type="reset" name="Reset" value="Reset"> 
  30. </p> 
  31. </form> 
  32. </body> 
  33. </html> 

login.php

  1. <?php 
  2. @mysql_connect("localhost", "root","1981427")     //选择数据库之前需要先连接数据库服务器 
  3. or die("数据库服务器连接失败"); 
  4. @mysql_select_db("test")      //选择数据库mydb 
  5. or die("数据库不存在或不可用"); 
  6. //获取用户输入 
  7. $username = $_POST['username']; 
  8. $passcode = $_POST['passcode']; 
  9. $cookie   = $_POST['cookie']; 
  10. //执行SQL语句 
  11. $query = @mysql_query("select username, userflag from users " 
  12. ."where username = '$username' and passcode = '$passcode'") 
  13. or die("SQL语句执行失败"); 
  14. //判断用户是否存在,密码是否正确 
  15. if($row = mysql_fetch_array($query)) 
  16. { 
  17. if($row['userflag'] == 1 or $row['userflag'] == 0)    //判断用户权限信息是否有效 
  18. { 
  19.    switch($cookie)         //根据用户的选择设置cookie保存时间 
  20.    { 
  21.     case 0:         //保存Cookie为浏览器进程 
  22.      setcookie("username", $row['username']); 
  23.      break; 
  24.     case 1:         //保存1天 
  25.      setcookie("username", $row['username'], time()+24*60*60); 
  26.      break; 
  27.     case 2:         //保存30天 
  28.      setcookie("username", $row['username'], time()+30*24*60*60); 
  29.      break; 
  30.     case 3:         //保存365天 
  31.      setcookie("username", $row['username'], time()+365*24*60*60); 
  32.      break; 
  33.    } 
  34.    header("location: main.php");      //自动跳转到main.php 
  35. } 
  36. else 
  37. { 
  38.    echo "用户权限信息不正确"; 
  39. } 
  40. } 
  41. else 
  42. { 
  43. echo "用户名或密码错误"; 
  44. } 
  45. ?> 

main.php

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

logout.php

  1. <?php 
  2. setcookie("username"); 
  3. echo "注销成功"; 
  4. ?> 
(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容
  • php中数组合并操作

    将多个数组合并起来 1.合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组,所得...

  • php for的高级运用

    HTML HEAD TITLE for 的高级运用/TITLE /HEAD BODY ? /* **打印必要的说明文字 */ print( B距离星期一还有几...

  • PHP自动更新新闻DIY

    我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,假如要是人工维护的话,那...

  • 实用PHP验证码类代码

    开发应用中验证码是少不了的,我们经常会碰以关于被机器注册,那么有了验证码可以有效的防止...

  • PHP获取MAC地址的实现代码

    分享一例php取得机器mac地址的代码,学习下php读取硬件信息的方法,此代码适用于windows、lin...

  • PHP算法冒泡排序(数组排序)

    PHP算法冒泡排序(数组排序) function bubble_sort( $array) { $count = count( $array); if ($count = 0 ) return ...