關於wamp的HTML, PHP, mysql 三者的操做與聯繫 - HTML與PHP之間傳值(下)(二)

  上一章講了PHP向HTML傳值的簡單應用,這章簡單講解HTML向PHP傳值的兩種形式,也就是上章提到了兩種狀況。php

  一、表單的提交html

   打開E:/work/PHPtest/,能夠新建兩個文件 form.html 和 form.php前端

 form.html:mysql

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <!-- action指向接收表單數據的地址, method是發送的方式 -->
    <form action="./form.php" method="post">
        userName: <input type="text" name="name"><br/>
        passWord: <input type="password" name="password"> <br/>

        <!-- 多選下拉框 多選項,name對應的是一個數組 multiple是表示能夠多選-->
        <!-- city: <select name="city[]" id="city" multiple="multiple"> -->
            
        city: <select name="city" id="city">
            <option value="0">請選擇</option>
            <option value="深圳">深圳</option>
            <option value="北京">北京</option>
            <option value="上海">上海</option>
            <option value="廣州">廣州</option>
        </select>
     <br/>
        <input type="file" name="file" id="file"><br/>
        <br/>

        like: <input type="radio" name="like" value="apple">apple
        <input type="radio" name="like" value="banana">banane
        <input type="radio" name="like" value="orange">orange
        <input type="radio" name="like" value="tomatoes">tomatoes
        <br/>

        <!-- 多選項,name對應的是一個數組 -->
        owner: <input type="checkbox" name="owner[]" vaule="BMW">BMW
        <input type="checkbox" name="owner[]" value="house">Villa
        <input type="checkbox" name="owner[]" value="money">dollar
        <input type="checkbox" name="owner[]" value="gender">female
        <br/>

        <input type="submit" value="提交">
    </form>

</body>
</html>

  注: 多選項的時候,name = arr[] (數組)。jquery

  form.php :ajax

  

<?php
    header("content-type: text/html; charset=utf-8"); //防止中文亂碼

    // 定義變量來接收傳遞過來的數,表單使用POST傳遞,接收使用 $_POST[]
    $userName = $_POST["name"];
    $password = $_POST["password"];
    $city = $_POST["city"];
    $like = $_POST["like"];
    $owner = $_POST['owner'];
    $file = $_POST['file'];

    // 將這些數據放入數組中
    $arr = array("userName" => $userName, "password" => $password, "city" => $city, "like" => $like, "owner" => $owner, "file" => $file);

    //打印
    echo json_encode($arr);
?>

  打開瀏覽器輸入: myserver/PHPtest/form.html  ,填寫表單,而後提交,頁面會調到form.php,這是你看到的PHP中已經打印出傳輸過來的數據。sql

  

  這說明HTML向PHP傳遞成功。json

  二、將HTML中特定的數據傳輸給PHP,使用ajax數組

  

<!DOCTYPE html>
<html lang='en'>
    <head>
        <meta charset='UTF-8'>
        <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'>
        <meta http-equiv='X-UA-Compatible' content='ie=edge'>
        <meta name='keywords' content=''>
        <meta name='description' content=''>
        <title>Document</title>
        <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    </head>
    <body>
        <button id="btn">提交</button>
        <script>
            $("#btn").click(function(){

                // 這個數據爲模擬數據,可根據實際狀況自行組合成對象
                var obj = {"id": 1, "item": {"name": "ject", "age": "25"}};
                
                // 將收集的數據obj發送出去
                $.post("./test.php", obj, function(data){
                    //接收返回值
                    var res = JSON.parse(data);

                    // 能夠打印出來看一看
                    console.log(res);
                })
            })
        </script>
    </body>
</html>

  form.php瀏覽器

<?php
    // 一、依次單一變量接收
    // $id = $_POST["id"];
    // $name = $_POST["name"];

    // echo json_encode($id);
    // echo json_encode($name);

    // 二、直接存儲到數組中
    $arr = array("id" => $_POST["id"], "item" => $_POST["item"]);

    // 把接受的值能夠傳遞個前端,這個能夠根據實際狀況,在PHP中進行數據處理,將前端須要的數據傳遞過去
    echo json_encode($arr);
?>

  打開瀏覽器輸入: myserver/PHPtest/form.html  ,刷新,點擊提交,打開控制檯,能夠看到返回來的數據: 

  

  這個循環可知,數據發送到form.php,而後又返回給form.html, HTML與PHP進行了雙向傳遞。

  補充: 在form.php對數據進行處理,以下:

  對form.php進行改動:

<?php
    // 直接存儲到數組中
    $arr = array("id" => $_POST["id"], "item" => $_POST["item"]);

    // PHP中鏈接符號是 「 . 」 點號
    $str = "I am ".$arr["id"].", my name is ".$arr['item']['name'].", ".$arr['item']['age']." years old.";

    // 把接受的值能夠傳遞個前端,這個能夠根據實際狀況,在PHP中進行數據處理,將前端須要的數據傳遞過去
    echo json_encode($str);
?>

  刷新頁面,點擊提交,打開控制檯,能夠看到返回來的數據: 

  

  這能充分說明,數據是經歷過form.php處理後,返回到form.html 中。

  下一章講述wamp中mysql相關內容。

相關文章
相關標籤/搜索