Discuz教程网

PHP session应用实例 登录验证

[复制链接]
authicon dly 发表于 2011-9-10 20:19:29 | 显示全部楼层 |阅读模式
代码如下:

  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>
复制代码



代码如下:

  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. //执行SQL语句获得Session的值
  10. $query = @mysql_query("select username, userflag from users "
  11. ."where username = '$username' and passcode = '$passcode'")
  12. or die("SQL语句执行失败");
  13. //判断用户是否存在,密码是否正确
  14. if($row = mysql_fetch_array($query))
  15. {
  16. session_start(); //标志Session的开始
  17. //判断用户的权限信息是否有效,如果为1或0则说明有效
  18. if($row['userflag'] == 1 or $row['userflag'] == 0)
  19. {
  20. $_SESSION['username'] = $row['username'];
  21. $_SESSION['userflag'] = $row['userflag'];
  22. echo "<a href="main.php" href="main.php">欢迎登录,点击此处进入欢迎界面</a>";
  23. }
  24. else //如果权限信息无效输出错误信息
  25. {
  26. echo "用户权限信息不正确";
  27. }
  28. }
  29. else //如果用户名和密码不正确,则输出错误
  30. {
  31. echo "用户名或密码错误";
  32. }
  33. ?>
复制代码



代码如下:

  1. <?php
  2. unset($_SESSION['username']);
  3. unset($_SESSION['passcode']);
  4. unset($_SESSION['userflag']);
  5. echo "注销成功";
  6. ?>
复制代码




代码如下:

  1. <?php
  2. session_start();
  3. if(isset($_SESSION['username']))
  4. {
  5. @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器
  6. or die("数据库服务器连接失败");
  7. @mysql_select_db("test") //选择数据库mydb
  8. or die("数据库不存在或不可用");
  9. //获取Session
  10. $username = $_SESSION['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. //判断当前数据库中的权限信息与Session中的信息比较,如果不同则更新Session的信息
  17. if($row['userflag'] != $_SESSION['userflag'])
  18. {
  19. $_SESSION['userflag'] = $row['userflag'];
  20. }
  21. //根据Session的值输出不同的欢迎信息
  22. if($_SESSION['userflag'] == 1)
  23. echo "欢迎管理员".$_SESSION['username']."登录系统";
  24. if($_SESSION['userflag'] == 0)
  25. echo "欢迎用户".$_SESSION['username']."登录系统";
  26. echo "<a href="logout.php" href="logout.php">注销</a>";
  27. }
  28. else
  29. {
  30. echo "您没有权限访问本页面";
  31. }
  32. ?>
复制代码





上一篇:PHP session 检测和注销
下一篇:PHP session处理的定制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 07:43

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表