iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

大二萌新的學習紀錄系列 第 11

Day 11 : PHP - 如何將HTML的內容傳送到PHP?POST和GET又該如何選擇?

  • 分享至 

  • xImage
  •  

這篇想和大家介紹如何將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畫面如下圖所示:
https://ithelp.ithome.com.tw/upload/images/20210925/20141088w5kZ7N1b0Q.png

我們要在PHP內接收HTML傳來的內容,用POST的形式傳送,就用POST去接收,所以這裡用@$_POST[‘傳送的input所設定的name值’],並令一個變數$todayDate去接收
$前方會用個@是因為,有時候明明沒打錯,但卻會因為中文亂碼的問題而報出錯誤訊息,為了不要讓使用者看到錯誤訊息,就會用@去「抑制顯示錯誤

PHP:

$todayDate = @$_POST['date'];
echo "用POST測試將HTML內容傳入PHP:<br>";
echo "今天的日期為".$todayDate;

結果如下圖所示:
https://ithelp.ithome.com.tw/upload/images/20210925/20141088ctNe1rBKUw.png


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;

結果如下圖所示:
https://ithelp.ithome.com.tw/upload/images/20210925/20141088IXvvbN37Th.png


其實用POST或GET傳送都行,傳送結果都會相同,但我們會比較常用POST,因為POST較GET「安全
你可以把GET想成是明信片,表示「不使用信封袋」裝起來寄送。而POST就是信件「有使用信封袋」裝起來寄送

在寄送過程中,一個信件內容會被看見,另一個則不會,這也是為什麼POST的安全性會高於GET

以上就是將HTML內容傳入PHP的用法介紹
希望大家看完能更加了解


參考資料:
https://blog.toright.com/posts/1203/%E6%B7%BA%E8%AB%87-http-method%EF%BC%9A%E8%A1%A8%E5%96%AE%E4%B8%AD%E7%9A%84-get-%E8%88%87-post-%E6%9C%89%E4%BB%80%E9%BA%BC%E5%B7%AE%E5%88%A5%EF%BC%9F.html


上一篇
Day 10 : PHP - 常用的陣列函數有哪些?
下一篇
Day 12 : PHP - 你484少給錢?如何查詢貨運訂單是否存在
系列文
大二萌新的學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言