目前大多數(shù)情況是前端發(fā)送請求到服務器端獲取資源,所以我們先介紹post請求處理方式。這里使用的服務器處理語言為PHP,該語言入門簡單,尤其擅長于web服務器端開發(fā),因此選用PHP來負責服務器端的處理。本節(jié)視頻中選用了三個案例來介紹前端與后臺服務器端交互的處理方式,包括用戶登錄、添加新聞、購買商品等。
視頻封面30:26
服務器端開發(fā)入門
PHP開發(fā)準備:
•準備環(huán)境:web服務器搭建, 可以是本機,也可以是vps/' target='_blank'>云服務器
. 集成環(huán)境安裝包:在服務器端安裝phpstudy,同時具有apache、mysql和php
. 開發(fā)工具:sublime text或者visual code
. 測試工具:chrome瀏覽器
. 運行方式: http://服務器IP/php文件
視頻中選用了百度的一款云服務器,因此在運行時就可以在使用:http://106.13.111.246/hello.php來訪問該PHP文件。
PHP基礎語法:
定義變量:$a=10;$b='c';$c="hello,world!";這是一門弱類型語言,不用強制定義變量類型。其他的如控制結構、函數(shù)等與其他語言一致,如選擇使用if---else if結構,循環(huán)使用for或while循環(huán)。函數(shù)定義function,包括形參和實參都與其他語言一致。
瀏覽器查看數(shù)據(jù)方式:單個變量采用echo函數(shù),如echo (參數(shù)),這里的參數(shù)為單個變量或者字符串。對象類型如數(shù)組等,采用var_dump函數(shù),var_dump(數(shù)組)就可以把數(shù)組內容打印在瀏覽器上查看。
PHP處理前后端交互:
PHP主要用于web交互開發(fā)。 組織一下思路就是:
•前端表單輸入 ---- 前端業(yè)務
•服務器端接收到前端的輸入并處理 ----- 服務器端業(yè)務
前端業(yè)務:表單form構造。特別說明的是需要指定form的action和method屬性
action就是提交給服務器端哪個文件進行處理,method這里通常是post, 特別說明的是表單的輸入一定要給定name屬性
服務器端開發(fā)業(yè)務:php來接收表單的輸入 并處理
接收方式:采用內置數(shù)組$_POST來接收
查看獲取的輸入:var_dump($_POST)
定位前端每一個輸入:$_POST[key],給定key值,這個key就是前端輸入框的name屬性
視頻中講解的三個案例參考如下,請?zhí)貏e關注form指定的action屬性,就是指向的URL文件。
第一個案例,前端用戶登錄,服務器端接收輸入并打印輸入的具體內容:
前端HTML頁面:
<!DOCTYPE html>
<html>
<head>
<title>前端用戶登錄內容</title>
</head>
<body>
<center>
<form method="post" action="http://106.13.111.246/hello.php">
<label>用戶姓名</label>
<input type="text" name="username"><br>
<label>用戶密碼</label>
<input type="text" name="userpwd"><br>
<input type="submit" name="submit" value="登錄">
</form>
</center>
</body>
</html>
服務器端hello.php負責接收輸入并打印:
<?php
// 打印前端傳過來的數(shù)據(jù)
// var_dump($_POST);
$username=$_POST['username'];
$userpwd=$_POST['userpwd'];
$time=Date('Y-m-d H:i:s');//登陸時間
echo '登錄姓名:'.$username;
echo '登錄時間:'.$time;
?>
第二個案例,前端用戶發(fā)表新聞,服務器端接收輸入并打印新聞具體內容:
前端HTML代碼:
<!DOCTYPE html>
<html>
<head>
<title>前端用戶發(fā)布新聞內容</title>
</head>
<body>
<center>
<form method="post" action="http://106.13.111.246/hello.php">
<label>新聞標題</label>
<input type="text" name="newsTitle"><br>
<label>新聞內容</label>
<input type="text" name="newsContent"><br> <label>撰稿人</label>
<input type="text" name="newsAuthor"><br>
<input type="submit" name="submit" value="提交">
</form>
</center>
</body>
</html>
服務器端hello.php文件負責接收輸入內容,并打印輸出:
<?php
// 打印前端傳過來的數(shù)據(jù)
// var_dump($_POST);
$newsTitle=$_POST['newsTitle'];
$content=$_POST['newsContent'];
$author=$_POST['newsauthor'];
$time=Date('Y-m-d H:i:s');//發(fā)表時間
echo '新聞內容:'.$content;
echo '發(fā)表時間:'.$time;
?>
第三個案例,前端用戶下訂單購買商品,服務器端接收輸入并打印訂單的具體內容:
前端代碼:
<!DOCTYPE html>
<html>
<head>
<title>前端輸入商品內容</title>
</head>
<body>
<center>
<form method="post" action="http://106.13.111.246/hello.php">
<label>商品名稱</label>
<input type="text" name="goodsName"><br>
<label>商品價格</label>
<input type="text" name="goodsPrice"><br>
<label>商品數(shù)量</label>
<input type="text" name="goodsNum"><br>
<input type="submit" name="submit" value="下單">
</form>
</center>
</body>
</html>
服務器端hello.php代碼
<?php
// 打印前端傳過來的數(shù)據(jù)
// var_dump($_POST);
$goodsName=$_POST['goodsName'];
$price=$_POST['goodsPrice'];
$num=$_POST['goodsNum'];
$money=$price*$num;
$time=Date('Y-m-d H:i:s');//下單時間
echo '共花了多少錢:'.$money;
echo '下單時間:'.$time;
?>
部分文章來源與網(wǎng)絡,若有侵權請聯(lián)系站長刪除!