1. 程式人生 > >PHP全棧開發(六):PHP與HTML頁面交互

PHP全棧開發(六):PHP與HTML頁面交互

超級 後端 之前 而在 col foreach char type 當我

之前我們在HTML表單學習這篇文章裏面創建了一個HTML頁面下的表單。

這個表單是用戶用來輸入數據的

具體代碼如下

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>

<h1>用戶登錄</h1>

<form name="input" action="action.php" method="post">

賬號:<input type="text" name="user"><br><
br> 密碼:<input type="password" name="pwd"><br><br> 性別: <input type="radio" name="sex" value="man"><input type="radio" name="sex" value="woman"><br><br> 愛好: <input type="checkbox" name="hobby[]" value="basketball">籃球 <input
type="checkbox" name="hobby[]" value="football">足球 <input type="checkbox" name="hobby[]" value="badminton">羽毛球 <br><br> <input type="submit" value="提交"> </form> </body> </html>

我們看到在表單標簽裏面有兩個屬性,其中一個是action,另外一個是method

當我們點擊submit按鈕之後,這些內容會傳送到action指定的php文件。

而在PHP中有一個超級全局變量$_POST

這個超級全局變量$_POST就是PHP用來接收表單數據的,不過要在表單屬性method中指定post,它才會實現接收的功效。

然後下面我們給出action.php文件的內容:

<?php 
$user = $_POST[‘user‘]; 
$pwd = $_POST[‘pwd‘];
$sex = $_POST[‘sex‘];
$hobby=isset($_POST[‘hobby‘])?$_POST[‘hobby‘]:"";

echo "您的賬號是:",$user,"<br>"; 
echo "您的密碼是:",$pwd,"<br>"; 
echo "您的性別是:",$sex,"<br>"; 
echo "您的愛好是: ";

if(is_array($hobby)){
    foreach($hobby as $x){
        echo $x . " ";
    }
}
?>

通過點擊submit按鈕,然後這些數據就被轉移到action.php這個頁面,我們的瀏覽器也就跳轉到這個頁面了。

可以看到我們用來接收數據的是$_POST這個變量,裏面放的是表單元素的name值,就會對應的傳送給PHP的這些變量了。

值得註意一點的是,我們在HTML頁面裏面,這個復選框的name是hobby[],因為復選框要傳送多個數組,所以它的name應該是一個數組的形式。

不然的話只會傳送給變量一個值,而我們需要的是復選框的一組值。

當然了,雖然復選框在HTML頁面裏面的name是hobby[]

但是我們在接收的時候仍然是$_POST[‘hobby‘],這個東東實際上已經是一個數組了。

這個時候我們需要做一個保護措施,為了防止有的時候我們的復選框是什麽都沒有選的空值,而不是一個數組,這個時候我們就做一個檢驗

$hobby=isset($_POST[‘hobby‘])?$_POST[‘hobby‘]:"";

isset() 函數用於檢測變量是否已設置並且非 NULL。

如果是空的話呢,那麽$hobby也就賦予空值了,如果不空,那麽$hobby這個變量得到的就是復選框的整個數組的內容了。

然後我們用一個foreach循環來輸出一下這個數組,展示出來。

if(is_array($hobby)){
    foreach($hobby as $x){
        echo $x . " ";
    }
}

is_array() 函數用於檢測變量是否是一個數組,如果是一個數組的話呢,就展示出來,如果不是一個數組的話呢,就不做任何動作。

PHP 中換行可以用 PHP_EOL 來替代,以提高代碼的源代碼級可移植性

好了,到了這裏,我們的第一個HTML和PHP的交互案例已經做完了。

這也是我們的第一個前端和後端的一個交互案例。

HTML是前端,作為客戶的瀏覽界面,PHP是在服務器端執行的程序,是後端,這就通過案例加深我們對前端和後端,瀏覽器端和服務器端的理解。

然後做完這個交互之後,我們接下來要做的就是PHP和MYSQL之間的交互,也就是說,要基於這個案例,把PHP的值保存到服務器端的數據庫中去。

要知道,如果不進行保存的話,那麽我們每次得到的數據就會消失,只有保存下來,這些數據才不會消失,那麽我們每次打開一個網頁的時候,就會展示我們之前的所有內容

好,我們下一個隨筆就開始寫PHP和MYSQL的交互。

PHP全棧開發(六):PHP與HTML頁面交互