首頁 > 後端開發 > PHP問題 > php中post的用法是什麼

php中post的用法是什麼

藏色散人
發布: 2023-03-06 20:02:01
原創
5091 人瀏覽過

php中post方法的主要用途是「傳遞」數據,它將資料放在所有請求標題的後面上傳,使用程式碼語句如“

...”。

php中post的用法是什麼

推薦:《PHP影片教學

$_POST陣列

GET方法的本意就是下載(與其對應的是上傳方法PUT),因此並不是專門用於傳遞資料的,它將請求資料全部經過URL編碼後綴在請求資源的後面,這樣一來,當資料很多時URL就會變得很長-但這並不是問題的所在,問題所在是一些WEB瀏覽器或伺服器程式會限制這行字串的長度。這時,就需要用到 POST方法了。

顧名思義,POST方法的主要用途就是「傳遞」數據,它將數據放在所有請求標題的後面上傳,這樣一來,無論有多少數據上傳都不成問題了(這樣請求數據的大小之取決於WEB服務允許的尺寸了)。通常來說,對於表單資料如無特別需要都使用POST方法來上傳,這樣就無須去關心具體上傳資料的尺寸了。

POST方法的請求資料被封裝到了$_POST數組中,其使用方法與$_GET數組一樣。將上面的表單添加一個method屬性,就變成了這樣:

<!– post.php文件 –>
<?php
if($_POST[&#39;post&#39;]) {
foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”;
}
?>
<form action=”post.php” method=”post”>
<label for=”id”>账号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
</form>
登入後複製

另一個有趣的設定是,GET方法和POST方法並不矛盾,在POST方法中同樣可以傳遞GET變量,將上面的post.php檔案稍微改動一下,就成了這樣:

<!– post.php文件 –>
<?php
if($_POST[&#39;post&#39;]) {
foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”;
foreach($_GET as $index = > $value) echo “$_GET[$index] = $value”, “<BR>”;
}
?>
<form action=”post.php?act=login” method=”post”>
<label for=”id”>帐号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
</form>
登入後複製

該程式同時處理了GET方法(act 參數)和POST方法(id 和password 參數)的請求數據,GET方法的請求變數後綴在了表單action屬性值的後面,這樣只有一點問題,就是GET方法的請求變數不能由使用者來輸入。通常,固定的資料使用GET方法,由使用者輸入的資料使用POST方法來傳送,兩種方法區分開了不同邏輯的資料。不過讀者在建構這種表單的時候,一定要注意兩種方法不要有相同的變數名,否則會出現不可預料的後果。最後,需要注意的是,當使用GET方法發送資料時,則標籤action 屬性值中不能包含查詢字串(即使包含也不會生效),所以,在下面的表單中,act 參數將不能發送:

<form action=”post.php?act=login” method=”get”>
<label for=”id”>账号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
</form>
登入後複製

應該改成下面的形式:

<form action=”post.php” method=”get”>
<label for=”id”>账号:</label><input type=”text” name=”id”>
<label for=”password”>密码:</label><input type=”text” name=”password”>
<input type=”submit” name=”post” value=”提交”>
<input type=”hidden” name=”act” value=”login”>
</form>
登入後複製

以上是php中post的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板