這篇想和大家介紹如何將HTML的內容傳送到PHP
因為HTML呈現的是網頁的畫面,若想做些運算或儲存,就必須將內容傳到後端執行
1. POST
首先,先在HTML內用<form action=”” method=””></form>這個標籤,action=””內放「PHP的檔案位置」,method=””內放「你想傳的形式」,這裡我們先設定用POST的形式傳送
之後我們在form裡做個table,裡面放兩個input,一個的type是date,另一個是submit,當我們按下submit,畫面就會跳轉到該PHP內
HTML:
<form action="PHP的檔案位置 " method="POST">
    <table class="table_container">
        <tr>
            <td>請輸入今天日期</td>
            <td><input type="date" name="date"></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" name="submit" value="確認"></td>
        </tr>
    </table>
</form>
CSS:
.table_container{
    background-color:rgb(251, 192, 81);
    border:solid 1px #fff;
    width:320px;
    height:70px;
}
.table_container td{
    text-align:center;
    font-weight:bolder;
}
HTML畫面如下圖所示:
我們要在PHP內接收HTML傳來的內容,用POST的形式傳送,就用POST去接收,所以這裡用@$_POST[‘傳送的input所設定的name值’],並令一個變數$todayDate去接收
在$前方會用個@是因為,有時候明明沒打錯,但卻會因為中文亂碼的問題而報出錯誤訊息,為了不要讓使用者看到錯誤訊息,就會用@去「抑制顯示錯誤」
PHP:
$todayDate = @$_POST['date'];
echo "用POST測試將HTML內容傳入PHP:<br>";
echo "今天的日期為".$todayDate;
結果如下圖所示:
2. GET
那我們現在把form的method改成用GET的形式傳送
HTML:
<form action="PHP的檔案位置" method="GET">
PHP也記得改成用@$_GET[‘date’]去接收
PHP:
$todayDate = @$_GET['date'];
echo "用GET測試將HTML內容傳入PHP:<br>";
echo "今天的日期為".$todayDate;
結果如下圖所示:
其實用POST或GET傳送都行,傳送結果都會相同,但我們會比較常用POST,因為POST較GET「安全」
你可以把GET想成是明信片,表示「不使用信封袋」裝起來寄送。而POST就是信件「有使用信封袋」裝起來寄送
在寄送過程中,一個信件內容會被看見,另一個則不會,這也是為什麼POST的安全性會高於GET
以上就是將HTML內容傳入PHP的用法介紹
希望大家看完能更加了解