登录  /  注册
博主信息
博文 34
粉丝 0
评论 0
访问量 23406
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
会话控制 -(一)COOKIE/SESSION
CY明月归
原创
653人浏览过

COOKIE/SESSION原理:

作业:独立完成新用户注册的过程 ,并详细会话的完整流程,以及注意事项

  1. <?php
  2. //根据用户操作,给出不同响应
  3. //登录、注册、退出
  4. $dbConfig =[
  5. 'type'=>'mysql',
  6. 'host' => 'localhost',
  7. 'dbname' => 'testsql',
  8. 'port'=>'3306',
  9. 'charset'=>'utf8',
  10. 'username' => 'zolo',
  11. 'password' => '123456'
  12. ];
  13. //import variables into the current symbol table from an array
  14. extract($dbConfig);
  15. $db = new PDO("$type:host=$host;port=$port;dbname=$dbname;charset=$charset",$username,$password);
  16. $sqlquery = "select * from `user`";
  17. $stmt = $db->prepare($sqlquery);
  18. $stmt ->execute();
  19. $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
  20. // foreach($res as $user){
  21. // printf('<pre>%s</pre>',print_r($user,true));}
  22. session_start();
  23. $method = $_GET['action'];
  24. switch(strtolower($method)){
  25. case 'login':
  26. if($_SERVER['REQUEST_METHOD']=='POST'){
  27. extract($_POST);
  28. //echo "登录信息是:".$username.'<br>';
  29. array_filter($res,function($user) use ($name,$password){
  30. if($user['name'] == $name && $user['password'] == $password){
  31. $_SESSION['name']= $name;
  32. exit('<script>alert("登录成功");location.href="home.php"</script>');
  33. }else{
  34. exit('<script>alert("用户名或密码错误");location.href="login.php"</script>');
  35. }
  36. });
  37. }else{
  38. echo '登录错误';
  39. }
  40. break;
  41. case 'register':
  42. if($_SERVER['REQUEST_METHOD']=='POST'){
  43. extract($_POST);
  44. if($password == $confirpsw){
  45. array_filter($res,function($user) use ($name,$password,$db){
  46. if($user['name'] == $name){
  47. //$_SESSION['name']= $name;
  48. exit('<script>alert("用户已存在,请登录");location.href="login.php"</script>');
  49. }else{
  50. if($name && $password){
  51. $sql = 'INSERT `user` SET `name` = ?,`password`= ?';
  52. $stmt = $db->prepare($sql);
  53. $stmt ->execute([$name,$password]);
  54. $_SESSION['name']= $name;
  55. exit('<script>alert("恭喜,注册成功");location.href="home.php"</script>');
  56. }else{
  57. exit('<script>alert("非法数据");location.href="register.php"</script>');
  58. }
  59. }
  60. });
  61. }else{
  62. exit('<script>alert("两次输入密码不一致");location.href="register.php"</script>');
  63. }
  64. }
  65. break;
  66. case 'logout':
  67. echo '设置session.name为空';
  68. session_unset();
  69. exit('<script>alert("退出成功");location.assign("home.php")</script>');
  70. break;
  71. }

代码流程图

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学