Ajax学习笔记第二天

喜欢的东西太贵了,我一咬牙,狠下心决定不喜欢了!

一.GET请求

1.1 URL即信息
  • 我们知道php的相关运算都是在服务器端进行的,此时我们要考虑一个问题,如何将要计算的数字带给服务器?我们可以通过URL传递数据:?xingming=ikunGG&nianling=20&xingbie=男
  • 一个标准的URL网址,在最后有一个query string部分,表示 对页面的查询。使用?来表示这一部分,内容必须是k=v,多个参数使用&连接,此时01.php这个页面将会收到这些数据
  • 我们的GET请求其实就是通过URL传递数据
<?php
echo "<br/>";
echo "<h2>我是$_GET</h2>";
print_r($_GET);
?>

002.png

  • PHP中,会把所有的query string都自动放到$_GET的数组中
<meta charset="utf-8">
<?php 
    $name = $_GET["xingming"];
    $age = $_GET["nianling"];
    $xingbie = $_GET["xingbie"];
    
    echo $name;
    echo $age;
    echo $xingbie;
?>

001.png

  • URL传递数据num:(http://127.0.0.1/haha/02.php?num=20)

  • 此时,我们建立一个php的页面实现URL参数来判断当前的数字是否为一个质数

<meta charset="utf-8">
<?php 
    // 获取用户输入到url的数据
    $num = $_GET["num"];

    // 记录个数
    $amount = 0;
    for($i = 1; $i <= $num; $i++) {
        if($num % $i == 0) {
            $amount ++;
        }
    }

    // 显示内容
    if($amount == 2) {
        echo "当前的数字{$num}是一个质数";
    } else {
        echo "当前的数字{$num}不是一个质数";
    }
?>

003.png

  • 我们把这种“网址即数据”的形式叫做GET请求。为什么叫GET? 因为我们传递给服务器的参数,一般来说是用于向服务器发送特定的格式参数,我们要通过GET请求获取数据。
1.2 GET请求提交表单

03.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
  <?php
    // 用数组来模拟数据库
    $arr = array(
      "10001" => array("name"=>"小明","age"=>22,"sex"=>"男","native"=>"河北","political"=>"团员","marriage"=>"未婚"),
      "10002" => array("name"=>"小红","age"=>21,"sex"=>"女","native"=>"河南","political"=>"团员","marriage"=>"未婚"),
      "10003" => array("name"=>"小刚","age"=>26,"sex"=>"男","native"=>"山东","political"=>"党员","marriage"=>"已婚"),
      "10004" => array("name"=>"小强","age"=>28,"sex"=>"女","native"=>"山西","political"=>"群众","marriage"=>"离异"),
    );
        
  // 得到通过学号查询的内容
  $id = $_GET["id"];
  ?>
  <h1>学生管理系统</h1>
  <ul>
     <li>学号:<?php echo $id;?></li>
     <li>姓名:<?php echo $arr[$id]["name"];?></li>
     <li>年龄:<?php echo $arr[$id]["age"];?></li>
     <li>性别:<?php echo $arr[$id]["sex"];?></li>
     <li>籍贯:<?php echo $arr[$id]["native"];?></li>
     <li>政治面貌:<?php echo $arr[$id]["political"];?></li>
     <li>婚姻状况:<?php echo $arr[$id]["marriage"];?></li>
  </ul>
</body>
</html>

http://127.0.0.1/haha/03.php?id=10001

004.png

04.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1>学生的管理系统</h1>
  <h3>请选择您想查询学生的id号码:</h3>
  <!-- action:提交到的URL地址 -->
  <!-- method:提交方式,默认为get -->
  <form action="03.php" method="get">
    <select name="id">
      <option value="10001">10001</option>
      <option value="10002">10002</option>
      <option value="10003">10003</option>
      <option value="10004">10004</option>
    </select>
    <!-- 提交 -->
    <!-- submit主要功能是将Form中所有内容进行提交action页处理 -->
    <input type="submit" value="点击查询">
  </form>
</body>
</html>

005.gif

006.png

1.3 GET请求的优缺点
  • GET方式提交数据特点

    1、GET方式在url后面拼接参数,只能以文本的形式传递参数
    2、传递的数据量小,4kb左右(不同浏览器会有差异)
    3、安全性低,会将信息显示在地址栏
    4、速度快,通常用于对安全性要求不高的请求

1.4 POST请求

GET请求和POST请求的区别1

GET请求和POST请求的区别2

1、post请求发送数据的时候,在请求体当中发送。不会回显到浏览器的地址栏上。也就是说post发送的数据,在浏览器地址栏上看不到。(post在“请求体”当中发送数据)
2、post请求可以发送任何类型的数据,包括普通字符串,流媒体等信息:视频、声音、图片。
3、post请求可以发送大数据量,理论上没有长度限制
4、post请求比较适合向服务器端传送数据。

1.5 POST请求提交表单

05.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        // 得到用户的数据
        $userName = $_POST["userName"];
        $password = $_POST["password"];
        $sex = $_POST["sex"];
        print_r($_POST);
        // 反馈结果
        echo "接收到的表单信息为:<br/>";
        echo "用户名:".$userName."<br/>";
        echo "密码:".$password."<br/>";
        echo "性别:".$sex."<br/>";
    ?>
</body>
</html>

06.html

<body>
    <!-- action:提交到的URL地址 -->
    <!-- method:提交方式,默认为post -->
    <form action="05.php" method="post">
        <p>
            <input type="text" name="userName" placeholder="请输入用户名">
        </p>
        <p>
            <input type="password" name="password" placeholder="请输入密码">
        </p>
        <p>
            <input type="radio" name="sex" value=""><input type="radio" name="sex" value=""></p>
        <p>
            <input type="submit">
        </p>
    </form>
</body>

http://127.0.0.1/haha/06.html

007.gif

1.6 学生管理系统

1.文件目录

008.png

2.页面效果展示及代码

  • 数据库中的初始表

009.png

2.1 主页index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .warp{
            width: 450px;
            margin: 10px auto;
            border: 1px solid #ddd;
        }
        h1{
            margin-bottom: 30px;
        }
        p{
            line-height: 200%;
        }
        table,tr,td,th{
            border: 1px solid #ddd;
        }
        th,td{
            width: 200px;
            height: 20px;
            text-align: center;
        }
    </style>
</head>
<body>
    <?php
        // 链接数据库
        $connect = mysql_connect("localhost","root","xjf123456");
        // 选择数据库
        mysql_select_db("ikungg");
        // 设置字符集,选择中文
        mysql_query("SET NAMES UTF8");
        // 查询
        $sql = "SELECT * FROM form";
        // 执行查询
        $result = mysql_query($sql);
        // 关闭数据库
        mysql_close($connect);
    ?>
    <div class="warp">
        <h1>学生管理系统</h1>
        <p><a href="add.html">增加学生</a></p>
        <p>学生的信息清单列表:</p>
        <table>
            <tr>
                <th>学号</th>
                <th>姓名</th>
                <th>详细信息</th>
                <th>修改信息</th>
                <th>删除</th>
            </tr>
            <!-- mysql_fetch_array($result):拿到数据库中表的每一条数据 ,一直拿完,循环停止-->
            <?php
                while($row = mysql_fetch_array($result)){
            ?>
                <tr>
                    <td>
                        <?php echo $row["id"];?>
                    </td>
                    <td>
                        <?php echo $row["name"];?>
                    </td>
                    <td>
                      <!-- 携带数据id 并跳转到info.php -->
                        <a href="info.php?id=<?php echo $row['id']?>">详细信息</a>
                    </td>
                    <td>
                      <!-- 携带数据id 并跳转到updateForm.php -->
                        <a href="updateForm.php?id=<?php echo $row['id']?>">修改信息</a>
                    </td>
                    <td>
                      <!-- 携带数据id 并跳转到delete.php -->
                        <a href="delete.php?id=<?php echo $row['id']?>" name="delete">删除</a>
                    </td>
                </tr>
            <?php 
                }
            ?>
        </table>
    </div>
    <script>
        // 当点击删除时候有一个请提示,是否删除?
        var delDom = document.getElementsByName("delete");
        console.log(delDom); // [a, a, a]

        for(let i = 0; i < delDom.length; i++) {
            delDom[i].onclick = function(){
                // 弹出确认框
                var con = confirm("确认要删除这条信息嘛?")
                    // 用户返回的结果来执行不同的语句
               if(con) {
                   return true;
               } else {
                    //如果return 了 false,则a标签的href不会跳转
                    // 如果没有return false,则a标签的href还是会跳转
                   return false;
               }
            }
        }
    </script>
</body>
</html>

2.2 详细信息 info.php

010.gif

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        $id = $_GET["id"];
        // 链接数据库
        $connect = mysql_connect("localhost","root","xjf123456");
        // 选择数据库
        mysql_select_db("ikungg");
        // 设置字符集,选择中文
        mysql_query("SET NAMES UTF8");
        // 查询
        $sql = "SELECT * FROM form WHERE id = {$id}";
        // 执行查询
        $result = mysql_query($sql);  // Resource id #3
        // 把结果变为数据
        $dataInfo = mysql_fetch_array($result); //只能拿到id为###的一条数据
/*         print_r($result);
        echo "</br>"; //换行
        print_r($dataInfo); */
        
        // 关闭数据库
        mysql_close($connect);
    ?>
    <div class="warp">
        <h2><?php echo $dataInfo["name"]?>详细信息</h2>
        
        <p>当前<?php echo $dataInfo["name"]?>的详细信息为</p>
        <p>学号:<?php echo $dataInfo["id"]?></p>
        <p>姓名:<?php echo $dataInfo["name"]?></p>
        <p>年龄:<?php echo $dataInfo["age"]?></p>
        <p>手机号码:<?php echo $dataInfo["phone"]?></p>
        <p>QQ号码:<?php echo $dataInfo["qq"]?></p>
        <p>邮箱:<?php echo $dataInfo["email"]?></p>
        <a href="index.php">返回首页</a>
    </div>
</body>
</html>

2.3 修改信息 update.php

011.gif

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        $id = $_POST["id"];
        $name = $_POST["name"];
        $age = $_POST["age"];
        $phone = $_POST["phone"];
        $qq = $_POST["qq"];
        $email = $_POST["email"];
        // 链接数据库
        $connect = mysql_connect("localhost","root","xjf123456");
        // 选择数据库
        mysql_select_db("ikungg");
        // 设置字符集,选择中文
        mysql_query("SET NAMES UTF8");
        // 查询
        $sql = "UPDATE form SET age={$age},phone={$phone},qq={$qq},email='{$email}' WHERE id={$id}";
        // 执行查询
        $result = mysql_query($sql);
        // 关闭数据库
        mysql_close($connect);
    ?>
    <div class="warp">
        <h1>更新结果</h1>
        <p>
            <?php
                if($result == 1) {
                    echo "当前id为{$id}的信息更新成功";
                } else {
                    echo "当前id为{$id}的信息更新失败,请重新操作";
                }
            ?>
        </p>
        <a href="index.php">返回首页</a>
    </div>
</body>
</html>

2.4 修改信息 updateForm.php

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .warp {
            width: 900px;
            margin: 10px auto;
            border: 1px solid #ddd;
        }
        
        h1 {
            margin-bottom: 30px;
        }
        
        p {
            line-height: 200%;
        }
        
        table,
        tr,
        td,
        th {
            border: 1px solid #ddd;
        }
        
        th,
        td {
            width: 200px;
            height: 20px;
        }
    </style>
</head>

<body>
    <?php
        $id = $_GET["id"];
        // 链接数据库
        $connect = mysql_connect("localhost","root","xjf123456");
        // 选择数据库
        mysql_select_db("ikungg");
        // 设置字符集,选择中文
        mysql_query("SET NAMES UTF8");
        // 查询
        $sql = "SELECT * FROM form WHERE id = {$id}";
        // 执行查询
        $result = mysql_query($sql);
        // 把结果变为数据
        $dataInfo = mysql_fetch_array($result);
        // 关闭数据库
        mysql_close($connect);
    ?>
    <div class="warp">
        <h1>修改学生</h1>
        <!-- 表单提交,跳转到update.php  POST请求-->
        <form action="update.php" method="post" id="formData">
            <p>
                学号:
                <input type="text" value="<?php echo $id;?>" name="id" id="id" >
            </p>
            <p>
                姓名:
                <input type="text" value="<?php echo $dataInfo['name'];?>" name="name" id="name" >
            </p>
            <p>
                年龄:
                <input type="text"  value="<?php echo $dataInfo['age'];?>" name="age">
            </p>
            <p>
                手机号:
                <input type="text"  value="<?php echo $dataInfo['phone'];?>" name="phone" id="phone">
            </p>
            <p>
                QQ号:
                <input type="text"  value="<?php echo $dataInfo['qq'];?>" name="qq">
            </p>
            <p>
                邮箱:
                <input type="text"  value="<?php echo $dataInfo['email'];?>" name="email">
            </p>
            <p>
                <input type="submit">
            </p>
        </form>

    </div>
    <script>
        // 获取表单元素
        var formData = document.getElementById("formData");

        // 当表单被提交的时候,触发
        formData.onsubmit = function() {
            // 必填信息验证
            var idNum = document.getElementById("id").value;
            // 正则校验,如果当前的id不是五位数或者为空则不能提交
            if (!/^[\d]{5}$/.test(idNum)) {
                alert("请输入正确的学号");
                // 如果一旦return了false,则表单不能提交;
                return false;
            }
            // 校验姓名
            // 如果当前的name为空则不能提交
            var xingming = document.getElementById("name").value;
            if (!xingming) {
                alert("请输入姓名");
                return false;
            }
            // 校验手机号是否填写
            var phone = document.getElementById("phone").value;
            // 正则校验,如果当前的phone不是11位数或者为空则不能提交
            if (!/^[\d]{11}$/.test(phone)) {
                alert("请输入正确的手机号");
                // 如果一旦return了false,则表单不能提交;
                return false;
            }
        }
    </script>
</body>

</html>

2.5 删除信息 delete.php

012.gif

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php 
        // 通过get请求得到学号
        $id = $_GET["id"];
        // 链接数据库
        $connect = mysql_connect("localhost","root","xjf123456");
        // 选择数据库
        mysql_select_db("ikungg");
        // 字符集
        mysql_query("SET NAMES UTF8");
        // 删除sql
        $sql = "DELETE FROM form WHERE id = {$id}";
        // 执行sql
        $result = mysql_query($sql);
        echo $result; // 1
        echo $sql; // DELETE FROM form WHERE id = 10001
        echo "</br>"; //换行
        // 关闭数据库
        mysql_close($connect);
    ?>

    <!-- 删除结果的显示信息 -->
    <div class="warp">
        <h1>删除结果</h1>
        <p>
            <?php
                if($result == 1) {
                    echo "当前id为{$id}的信息删除成功";
                } else {
                    echo "当前id为{$id}的信息删除失败,请重新操作";
                }
            ?>
        </p>
        <a href="index.php">返回首页</a>
    </div>
</body>
</html>

2.6 增加学生信息 add.html

013.gif

014.gif

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .warp {
            width: 900px;
            margin: 10px auto;
            border: 1px solid #ddd;
        }
        
        h1 {
            margin-bottom: 30px;
        }
        
        p {
            line-height: 200%;
        }
        
        table,
        tr,
        td,
        th {
            border: 1px solid #ddd;
        }
        
        th,
        td {
            width: 200px;
            height: 20px;
        }
    </style>
</head>

<body>
    <div class="warp">
        <h1>增加学生</h1>

        <form action="add.php" method="post" id="formData">
            <p>
                学号:
                <input type="text" name="id" id="id">
            </p>
            <p>
                姓名:
                <input type="text" name="name" id="name">
            </p>
            <p>
                年龄:
                <input type="text" name="age">
            </p>
            <p>
                手机号:
                <input type="text" name="phone" id="phone">
            </p>
            <p>
                QQ号:
                <input type="text" name="qq">
            </p>
            <p>
                邮箱:
                <input type="text" name="email">
            </p>
            <p>
                <input type="submit">
            </p>
        </form>

    </div>
    <script>
        // 获取表单元素
        var formData = document.getElementById("formData");

        // 当表单被提交的时候,触发
        formData.onsubmit = function() {
            // 必填信息验证
            var idNum = document.getElementById("id").value;
            // 正则校验,如果当前的id不是五位数或者为空则不能提交
            if (!/^[\d]{5}$/.test(idNum)) {
                alert("请输入正确的学号");
                // 如果一旦return了false,则表单不能提交;
                return false;
            }
            // 校验姓名
            var xingming = document.getElementById("name").value;
            if (!xingming) {
                alert("请输入姓名");
                return false;
            }
            // 校验手机号是否填写
            var phoneNum = document.getElementById("phoneNum").value;
            // 正则校验,如果当前的phone不是11位数或者为空则不能提交
            if (!/^[\d]{11}$/.test(phoneNum)) {
                alert("请输入正确的手机号");
                // 如果一旦return了false,则表单不能提交;
                return false;
            }
        }
    </script>
</body>

</html>

2.7 增加学生信息 add.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        // 链接数据库
        $connect = mysql_connect("localhost","root","xjf123456");
        // 选择数据库
        mysql_select_db("ikungg");
        // 设置字符集,选择中文
        mysql_query("SET NAMES UTF8");
         // 获取路由信息 
        //  接收表单传递过来的数据,并插入数据库中
         $id = $_POST["id"];
         $name = $_POST["name"];
         $age = $_POST["age"];
         $phone = $_POST["phone"]; 
         $qq = $_POST["qq"];
         $email = $_POST["email"];
        // 向对应的数据库插入数据 插入表单form中
        $sql = "INSERT INTO form VALUES($id,'{$name}',{$age},{$phone},{$qq},'{$email}')";
        // 执行查询
        $result = mysql_query($sql);
    ?>
    <div class="warp">
        <h1>增加结果</h1>
        <p>
            <?php
                if($result == 1) {
                    echo "当前id为{$id}的信息增加成功";
                } else {
                    echo "当前id为{$id}的信息增加失败,请重新操作";
                }
            ?>
        </p>
        <a href="info.php?id=<?php echo $id?>">查看详情</a>
        <a href="index.php">返回首页</a>
    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值