博主信息
博文 26
粉丝 2
评论 0
访问量 30886
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
ajax使用数据表进行用户信息验证
leverWang
原创
755人浏览过

data.php

  1. <?php
  2. $username = $_POST['username'];
  3. $password = sha1($_POST['password']);
  4. $status = 0;
  5. $message = '验证失败,请重试';
  6. try {
  7. $dsn = "mysql:host=localhost;dbname=phpedu";
  8. $pdo = new PDO($dsn, 'root', 'root');
  9. $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  10. // print_r($pdo);
  11. } catch (PDOException $e) {
  12. print "Error!: " . $e->getMessage() . "<br/>";
  13. die();
  14. }
  15. $sql = "select * from `users` where username=?";
  16. // 创建预处理对象
  17. $stmt = $pdo->prepare($sql);
  18. // $username = 'admin';
  19. $stmt->bindParam(1, $username, PDO::PARAM_STR);
  20. $stmt->execute() or die(print_r('查询失败' . $stmt->errorInfo()));
  21. $res = $stmt->fetch();
  22. // print_r($res);
  23. if ($res['username'] == $username && $res['password'] == $password) {
  24. $status = 1;
  25. $message = '验证成功';
  26. }
  27. echo json_encode(['status' => $status, 'message' => $message], JSON_UNESCAPED_UNICODE);
  28. // if ($res['username'] == $username && $res['password'] == $password) {
  29. // echo json_encode(['status' => 1, 'message' => '成功'],JSON_UNESCAPED_UNICODE);
  30. // }else{
  31. // echo json_encode(['status' => 0, 'message' => '失败'],JSON_UNESCAPED_UNICODE);
  32. // }

html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. input {
  9. display: block;
  10. margin-bottom: 20px;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <form action="" method="POST" onsubmit="return false">
  16. <input type="text" name="username" />
  17. <input type="password" name="password" />
  18. <button type="submit" name="btn">提交</button>
  19. </form>
  20. <span class="info"></span>
  21. <script>
  22. //创建点击事件
  23. var btn = document.querySelector("form button");
  24. var form = document.querySelector("form");
  25. var info=document.querySelector('.info');
  26. //false- 默认。事件在冒泡阶段执行
  27. btn.addEventListener("click", getData, false);
  28. function getData() {
  29. //创建ajax对象
  30. var xhr = new XMLHttpRequest();
  31. //监听事件
  32. xhr.onreadystatechange = function () {
  33. if (xhr.readyState === 4 && xhr.status === 200) {
  34. // 请求成功后返回的数据
  35. // console.log(xhr.responseText);
  36. res = JSON.parse(xhr.responseText);
  37. switch (res.status) {
  38. case 0:
  39. info.style.cssText ="color:red";
  40. info.append(res.message)
  41. // console.log(res.message);
  42. break;
  43. case 1:
  44. info.style.cssText ="color:blue";
  45. info.append(res.message)
  46. // console.log(res.message);
  47. break;
  48. default:
  49. console.log("未定义 ");
  50. }
  51. }
  52. };
  53. //初始化请求,默认为异步模式
  54. xhr.open("POST", "data.php");
  55. //加载post请求数据
  56. var data = new FormData(form);
  57. //发送请求
  58. xhr.send(data);
  59. }
  60. </script>
  61. </body>
  62. </html>

总结

初步理解了ajax 异步数据的请求方式

批改老师:天蓬老师天蓬老师

批改状态:合格

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

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

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