• 会员中心通过AJAX、JSON、PHP、MySql等技术实现注册和登录功能(1+X Web前端开发中级 例题)——初稿


    文章目录

     📄题目要求 

    🧩效果图

    💻HTML代码

    💻CSS代码

    💻MySQL代码

    💻PHP代码

    💻JavaScript代码

    🎯实现效果

    📰完整答案


    📄题目要求 

    • 阅读下列说明、效果图和代码,进行动态网页开发,补充代码(1)-(30)。
    • 会员中心,需要先注册后登录,先要求应用HTML、CSS、AJAX、JSON、PHP、MySql等技术实现注册和登录功能。项目包含主页index.html、style.css、login.js、register.php和login.php文件,其中,主页面index.html是首页,只显示“登录成功”字样;style.css为主页样式文件;login.php为判断登录,register.php为注册数据,返回JSON格式数据。
    • 主页分为两个部分:登录和注册,当点击登录和注册按钮时,通过ajax发送请求到login.php或者register.php返回JSON格式的数据。在主页上通过ajax拿到数据后,使用JQuery进行DOM操作。

    • 【问题1】根据现有的代码,补全样式代码,和效果图一致

      【问题2】根据提示,完成数据库的搭建

      【问题3】根据现有代码和提示,完成数据库的链接

      【问题4】用ajax完成数据请求,并处理接收到的数据

    🧩效果图

     1

    💻HTML代码

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>第二题-登录title>
    6. <link rel="stylesheet" href="css/login.css">
    7. <script src="js/jquery.min.js">script>
    8. head>
    9. <body>
    10. <div class="box">
    11. <div class="con">
    12. <ul class="title">
    13. <li class="cur">登录li>
    14. <li>注册li>
    15. ul>
    16. <div class="form">
    17. <form class="login" style="display: block;">
    18. <ul>
    19. <li>
    20. <input type="text" class="loginUsername" name="username" placeholder="请输入用户名">
    21. li>
    22. <li>
    23. <input type="password" class="loginPwd" name="password" placeholder="请输入密码">
    24. li>
    25. <li>
    26. <button type="button" class="loginBtn">登录button>
    27. li>
    28. ul>
    29. form>
    30. <form class="register">
    31. <ul>
    32. <li>
    33. <input type="text" class="registerUsername" name="username" placeholder="请输入用户名">
    34. li>
    35. <li>
    36. <input type="password" class="registerPwd" name="password" placeholder="请输入密码">
    37. li>
    38. <li>
    39. <input type="password" class="registerPwdOk" name="passwordOk" placeholder="请确认密码">
    40. li>
    41. <li>
    42. <button type="button" class="registerBtn">注册button>
    43. li>
    44. ul>
    45. form>
    46. div>
    47. div>
    48. div>
    49. <script src="js/login.js">script>
    50. body>
    51. html>

    💻CSS代码

    1. body,h1,h2,h3,h4,h5,h6,p,ol,ul,dl,dd{
    2. margin: 0;
    3. padding: 0;
    4. }
    5. ul,ol{
    6. list-style: none;
    7. }
    8. input{
    9. width: 100%;
    10. height: 40px;
    11. padding:0 10px;
    12. border:1px solid #d8d8d8;
    13. _____(1)_______;/*设置盒子大小始终是100%*/
    14. }
    15. .box{
    16. position: absolute;
    17. top:50%;
    18. left:50%;
    19. _____(2)_transform:translate(-50%,-50%)______;/*设置盒子水平垂直居中,用CSS3的方法*/
    20. width: 400px;
    21. padding:20px;
    22. _____(3)____: 0 0 15px #ccc;/*设置盒子投影*/
    23. border:1px solid #ccc;
    24. }
    25. .box .title{
    26. _______(4)______;/*设置弹性盒子*/
    27. ________(5)___justify-content:space-between__;/*设置弹性盒子两端对齐*/
    28. text-align: center;
    29. margin-bottom: 20px;
    30. }
    31. .box .title li{
    32. flex:1;
    33. }
    34. .box .title li.cur{
    35. ____(6)__font-weight____: 600;/*文字加粗*/
    36. color:orange;
    37. }
    38. .box .title li:first-child{
    39. border-right:1px solid #ccc;
    40. }
    41. .box .form form{
    42. display: none;
    43. }
    44. .box form ul li{
    45. margin-bottom:10px;
    46. }
    47. button{
    48. width: 100%;
    49. height: 40px;
    50. border:none;
    51. ____(7)_border-radius_____: 5px;/*设置圆角*/
    52. background-color: green;
    53. color:#fff;
    54. }

    💻MySQL代码

    1. //删除存在list数据库
    2. ____(8)____ DATABASE IF EXISTS list;
    3. //创建list数据库
    4. ______(9)_________;
    5. USE list;
    6. CREATE TABLE `admin`
    7. (
    8.    `id` int (4) NOT NULL10)auto_increment COMMENT '序号',
    9.    `username` varchar (16) NOT NULL COMMENT '用户名',
    10. `password` varchar (16) NOT NULL COMMENT '密码',
    11.    `time` datetime DEFAULT ___(11)_current_timestamp___  COMMENT '创建时间',
    12.    (12primary key (`id`)
    13. )ENGINE= InnoDB DEFAULT CHARSET= utf8;

    💻PHP代码

    1

    1. // header ("Content-type: text/html; charset=utf-8")
    2. $servername = "localhost";
    3. $username = "root";
    4. $password = "123456";
    5. // 创建连接
    6. $conn = _____(13)_mysqli_connect____($servername, $username, $password);
    7. // 检测连接
    8. if ($conn->connect_error) {
    9. die("连接失败: " . $conn->connect_error);
    10. }
    11. mysqli_query($conn,'set names utf8');
    12. // 查询数据库
    13. _____(14)_mysqli_select_db___($conn,"list");

    1

    1. //引入conn.php页面
    2. ______(15)___include(“conn.php”)____;
    3. $username=$_POST['username'];
    4. $password=$_POST['password'];
    5. // 判断用户是否已经存在
    6. $sqlUsername="____(16)_
    7. $resultUsername = mysqli_query($conn, $sqlUsername);
    8. if($resultUsername && mysqli_num_rows($resultUsername)>0){
    9. $res = array(
    10. 'code'=>2,
    11. 'message'=>'用户名已经存在'
    12. );
    13. }else{
    14. //插入SQL语句,并发送
    15. $sql="___________(17)________________";
    16. $result = mysqli_query($conn, $sql);
    17. //解析结果集
    18. if($result){
    19. $res = array(
    20. 'code'=>1,
    21. 'message'=>'注册成功'
    22. );
    23. }else{
    24. $res = array(
    25. 'code'=>0,
    26. 'message'=>'注册不成功'
    27. );
    28. }
    29. }
    30. //将$res转成json
    31. echo_____(18)_ ____;
    32. //关闭数据库
    33. _____(19)___ _____;
    34. ?>
    35. 【问题3 代码:login.php】
    36. 在登录页表单中填入数据,点击“登录”按钮,通过ajax去请求login.php页面,判断登录是否成功。
    37. //引入conn.php页面
    38. ______(15)_______;
    39. $username=$_POST['username'];
    40. $password=$_POST['password'];
    41. //4.定义SQL语句,并发送
    42. $sql="_________(20)____________";
    43. $result = mysqli_query($conn, $sql);
    44. //5.解析结果集
    45. if($result && mysqli_num_rows($result)>0){
    46. $res = array(
    47. 'code'=>1,
    48. 'message'=>'登录成功'
    49. );
    50. }else{
    51. $res = array(
    52. 'code'=>0,
    53. 'message'=>'用户名密码输入有误'
    54. );
    55. }
    56. //将$res转成json
    57. echo_____(18)_____;
    58. //关闭数据库
    59. _____(19)________;
    60. ?>

    💻JavaScript代码

    1. $(function(){
    2. $(".title li").click(function(){
    3. //给点击的元素添加类,将其他元素的cur类移除
    4. $(this).____(21)_ ___('cur').siblings().___(22)_ ____('cur');
    5. $(".form form").eq(__(23)___).css("display","block").____(24)____().css("display","none");
    6. })
    7. $(".loginBtn").click(function(){
    8. //获取表单中的值
    9. var username=$(".login .loginUsername").__(25)_val()___;
    10. var password=$(".login .loginPwd").__(25)_val()__;
    11. $.ajax({
    12. url: 'http://localhost/second/login.php',
    13. type: 'post',
    14. dataType: '__(26)_json___',
    15. ___(27)__ _: {
    16. username: username,
    17. password: password
    18. }
    19. })
    20. .done(function(data) {
    21. if(data.code==1){
    22. //登录成功加载首页
    23. _____(28)_______="http://localhost/second/index.html";
    24. }else{
    25. //弹出后台返回的message信息
    26. _____(30)______;
    27. }
    28. })
    29. })
    30. $(".registerBtn").click(function(){
    31. var username=$(".register .registerUsername").__(25)___;
    32. var password=$(".register .registerPwd").__(25)___;
    33. var passwordOk=$(".register .registerPwdOk").__(25)___;
    34. //判断两次密码输入是否一致
    35. if(_____(29)______){
    36. $.ajax({
    37. url: 'http://localhost/second/register.php',
    38. type: 'post',
    39. dataType: '__(26)_ ___',
    40. ___(27)___: {
    41. username: username,
    42. password: password
    43. }
    44. })
    45. .done(function(data) {
    46. if(data.code==1){
    47. //弹出后台返回的message信息
    48. _____(30)_ _____;
    49. ____(28)_____="http://localhost/second/login.html";
    50. }else{
    51. //弹出后台返回的message信息
    52. _____(30)______;
    53. }
    54. })
    55. }else{
    56. alert("密码和确认密码不一致");
    57. }
    58. })
    59. })

    🎯实现效果

    📰完整答案

    试题二(45分)
    【问题】(45分)
    (1)box-sizing: border-box 
    (2)transform: translate(-50%,-50%)
    (3)box-shadow
    (4)display: flex
    (5)justify-content: space-between
    (6)font-weight
    (7)border-radius
    (8)DROP(不区分大小写)
    (9)CREATE DATABASE list
    (10)auto_increment
    (11)current_timestamp
    (12)primary key
    (13)new mysqli
    (14)mysqli_select_db
    (15)include("conn.php")
    (16)select
    (17)insert into admin(username,password) values('$username','$password')
    (18) json_encode($res)
    (19)mysqli_close($conn)
    (20)select * from admin where username='$username' and password='$password'
    (21)addClass
    (22)removeClass
    (23)$(this).index()
    (24)siblings
    (25)val()
    (26)json
    (27)data
    (28)window.location.href
    (29)password==passwordOk
    (30)alert(data.message)
    (每空1.5分,共45分)


    🎯点赞收藏,防止迷路🔥 


  • 相关阅读:
    CommunityToolkit.Mvvm8.1 viewmodel使用-旧式写法(2)
    1.mysql字段类型该怎么选择?
    一文带你了解java基础,要让自己随时处于可以面试的一种状态,不能被动,要主动
    第3次作业练习题(第三章 指令流程与微命令)
    期货客户开户手续费(期货开户最低手续费)
    【深入浅出Java并发编程指南】「难点 - 核心 - 遗漏」让我们一起探索一下CountDownLatch的技术原理和源码分析
    ViewModel的共享(下)
    (c语言)二维数组求最大值
    2022.8.16 模拟赛
    数据库连接池长时间不用,乍一用还用不了,结果是防火墙的锅
  • 原文地址:https://blog.csdn.net/weixin_53231455/article/details/127914098