前端html,后端php,數據庫mysql 之間的交互


前端向后端發送數據:ajax方法

   get/post方法:

<script>

document.onclick = function(){
ajax({
// type:"get", //發送方式,可選,默認get
url:"http://localhost/ajax/php/index.php", //要請求的地址,必選
success:function(res){ //請求成功之后的函數,必選
console.log(res)
},
data:{ //要發送的數據,可選,默認不發
user:"admin",
pass:13123121123
},
// error:function(res){ //請求失敗之后的函數,可選,默認不處理
// console.log(res)
// },
// timeout:10 //請求超時的時間,可選,默認2000
})
}

function ajax(options){
// 1.處理默認參數
var {type,url,success,error,data,timeout} = options;
type = type || "get";
data = data || {};
timeout = timeout || 2000;

 

// 2.解析要發送的數據
var str = "";
for(var i in data){
str += `${i}=${data[i]}&`;
}

 
         

// 3.根據方式,決定是否處理url
if(type == "get"){
var d = new Date();
url = url + "?" + str + "__qft=" + d.getTime();
}

 
         

// 4.開啟ajax
var xhr = new XMLHttpRequest();
// 注意:open中的方式
xhr.open(type,url,true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
// 5.執行成功之前,先判斷是否傳入
success && success(xhr.responseText);
// 成功之后,不應有失敗
error = null;
}else if(xhr.readyState == 4 && xhr.status != 200){
// 6.執行失敗之前,先判斷是否傳入
error && error(xhr.status);
// 失敗之后,不應有成功
success = null;
// 且失敗不應多次執行
error = null;
}
}

 
         

// 7.如果請求超時,執行失敗
setTimeout(() => {
error && error("timeout");
// 失敗之后,不應有成功
success = null;
}, timeout);

 
         

// 8.最后根據type的方式,決定send的發送內容和格式
if(type == "post"){
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(str)
}else{
xhr.send()
}
}

后台接受數據並返回到前端:php方法

<?php

    $u = @$_REQUEST["user"];
    $p = @$_REQUEST["pass"];

    echo "這是前端的ajax發送的數據,現在再還給前端:".$u."-------".$p;

?>

在PHP中使用MySQL:

  注意運行的環境,可以在本地服務器上運行

<?php
    // 1.登錄mysql,選擇數據庫
    $link = @new mysqli("localhost:3306","root","root","test");
    if($link->connect_error){
        echo $link->connect_error;
    }

    // 2.$link->query()向mysql發送命令
    //// $q = "INSERT stu (name,sex,age) VALUES('admin','1',16)";
    // $res = $link->query($q);
    // if($res){
    //     echo "insert ok";
    // }else{
    //     echo "insert no ok";
    // }

    //// $q = "DELETE FROM stu WHERE id=6";
    // $res = $link->query($q);
    // if($res){
    //     echo "delete ok";
    // }else{
    //     echo "delete no ok";
    // }

    //// $q = "UPDATE stu SET name='root' WHERE id=6";
    // $res = $link->query($q);
    // if($res){
    //     echo "update ok";
    // }else{
    //     echo "update no ok";
    // }

    //
    $q = "SELECT * FROM stu";
    $res = $link->query($q);
    if($res){
        echo "select ok";
    }else{
        echo "select no ok";
    }
?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM