您好,登錄后才能下訂單哦!
php中post怎么用?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
php中post方法的主要用途就是“傳遞”數(shù)據(jù),它將數(shù)據(jù)放在所有請求標題的后面上傳,使用代碼語句如“<form action=”post.php” method=”post”>...”。
$_POST數(shù)組
GET方法的本意就是下載(與其對應的是上傳方法PUT),因此并不是專門用于傳遞數(shù)據(jù)的,它將請求數(shù)據(jù)全部經(jīng)過URL編碼后綴在請求資源的后面,這樣一來,當數(shù)據(jù)很多時URL就會變得很長——但這并不是問題的所在,問題所在是一些WEB瀏覽器或服務器程序會限制這行字符串的長度。這時,就需要用到 POST方法了。
顧名思義,POST方法的主要用途就是“傳遞”數(shù)據(jù),它將數(shù)據(jù)放在所有請求標題的后面上傳,這樣一來,無論有多少數(shù)據(jù)上傳都不成問題了(這樣請求數(shù)據(jù)的大小之取決于WEB服務允許的尺寸了)。通常來說,對于表單數(shù)據(jù)如無特別需要都使用POST方法來上傳,這樣就無須去關心具體上傳數(shù)據(jù)的尺寸了。
POST方法的請求數(shù)據(jù)被封裝到了$_POST數(shù)組中,其使用方法與$_GET數(shù)組一樣。將上面的表單添加一個method屬性,就變成了這樣:
<!– post.php文件 –> <?php if($_POST['post']) { 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['post']) { 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 參數(shù))和POST方法(id 和 password 參數(shù))的請求數(shù)據(jù),GET方法的請求變量后綴在了表單action屬性值的后面,這樣只有一點問題,就是GET方法的請求變量不能由用戶來輸入。通常,固定的數(shù)據(jù)使用GET方法,由用戶輸入的數(shù)據(jù)使用POST方法來發(fā)送,兩種方法區(qū)分開了不同邏輯的數(shù)據(jù)。不過讀者在構(gòu)建這種表單的時候,一定要注意兩種方法不要有相同的變量名,否則將出現(xiàn)不可預料的后果。最后,需要注意的是,當使用GET方法發(fā)送數(shù)據(jù)時,則 <form>標簽 action 屬性值中不能包含查詢字符串(即使包含也不會生效),所以,下面的表單中,act 參數(shù)將不能發(fā)送:
<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>
感謝各位的閱讀!看完上述內(nèi)容,你們對php中post怎么用大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。