php是否post
1. php中post是什麼意思
在php中,post是一種用來將數據提交到Web伺服器的方法。當我們在一個表單中填寫了數據並點擊提交按鈕時,這些數據就會以post的方式被發送到伺服器。在伺服器端,我們可以使用$_POST數組來獲取這些數據,然後進行相應的處理。
相對於get方法而言,post方法具有更高的安全性。在使用get方法時,將數據放在url中是不安全的,因為很容易被竊取或篡改。而使用post方法時,數據是以表單提交的方式發送的,不會出現在url中,從而保障了數據的安全性。
在php中,我們常常使用post方法來進行表單的提交,如登錄、注冊等。通過post方法可以將用戶輸入的數據以安全的方式提交到伺服器端,進行後續的處理。在使用post方法時,需要注意參數名的設置、數據類型的匹配等問題,以保證數據能夠被正確地提交和處理。
2. php中Get方法跟Post方法的區別
php中Get方法跟Post方法的區別
php——get方法 :
這個方法用來獲取私有成員屬性值的,有一個參數,參數傳入你要獲取的成員屬性的名稱,返回獲取的屬性值,這個方法不用手工的去調用,因為也可以把這個方法做成私有的方法,是在直接獲取私有屬性的時候對象自動調用的。
因為私有屬性已經被封裝上了,是不能直接獲取值的,但是如果你在類裡面加上了這個方法,在使用「echo$p1->name」這樣的語句直接獲取值的時候就會自動調用__get($name)方法,將屬性name傳給參數$name,通過這個方法的內部執行,返回傳入的.私有屬性的值。
如果成員屬性不封裝成私有的,對象本身就不會去自動調用這個方法。
php——post方法 :
這個方法用於傳送數據,用法與get方法類似,但有區別。
區別 :
Get方法在超鏈接後邊緊跟要傳遞的參數對於用戶是可見的如:%D6%A3%D6%DD%B4%F3%D1%A7&fr=index&ie=utf-8
而Post方法傳遞的參數是不可見的。
GET是從伺服器上獲取數據;POST是向伺服器傳送數據。
在客戶端,GET通過URL提交數據,數據在URL中可見;POST把數據放在form的數據體內提交。
GET提交的數據最多隻有1024位元組;POST提交的數據量無限制。
由於使用GET時,參數會顯示在地址欄上,而POST不會,所以,如果這些數據是非敏感數據,那麼使用GET;如果包含敏感數據,為了安全,用POST方法。
;3. PHP中$_POST和$_GET
$_GET
就是地址傳值,用 '?' 開始傳值,多個值間用 '&' 號分隔,多用於簡單的傳值,比如說看新聞需要新聞id一般就會用地址傳值, $_GET的好處是傳值可見,也就是只要一個地址就ok了,缺點是不安全,而且有限制位元組數,優點是容易分享
$_POST
這種提交方式不可見,也就是傳的值不會出現在URL地址中,一般用於注冊和登錄,這種方式因為要安全要高一點,所以會用POST方式,而且POST方式沒有限制位元組數,所以提交文章也會使用post
POST傳值不可見,GET傳值可見,在一些簡單的情況應該使用GET,比如說看新聞,如果用post方式的話,網址中沒有傳值,就識別不了是哪編新聞,這就不容易分享了,這種情況就會使用get比較多,
上面說的只是一個例子而已,一般情況下,沒特別需求,登錄注冊,安全性要求高的,...填寫文章,需要提交大數據的,表單中含有上傳文件的,都會使用post,
其他情況沒什麼特別的話都可以使用get
4. PHP獲取post請求三種方式
在PHP中獲取post請求數據有三種主要方式,它們分別是$_POST['fieldname'], file_get_contents(「php://input」),和$GLOBALS['HTTP_RAW_POST_DATA']。
第一種方式 $_POST['fieldname'],它的說明是只能接收Content-Type: application/x-www-form-urlencoded提交的數據。簡單來說,就是表單POST過來的數據。
第二種方式 file_get_contents(「php://input」),定義為將整個文件讀入一個字元串。它允許讀取 POST 的原始數據。與 $HTTP_RAW_POST_DATA 相比,它對內存的壓力較小,並且不需要任何特殊的 php.ini 設置。然而,php://input 不能用於 enctype=」multipart/form-data」。
對於未指定 Content-Type 的POST數據,可以使用file_get_contents(「php://input」);來獲取原始數據。實際上,無論使用何種Content-Type,包括二進制文件流,都可以用此方法接收POST的任何數據。因此,使用方法二是最保險的方式。
第三種方式是$GLOBALS['HTTP_RAW_POST_DATA'],此方法在獲取POST數據時更為靈活,無需考慮Content-Type。
這三種方法各有特點,使用時應根據實際需求選擇合適的方法。其中,file_get_contents(「php://input」)通常被認為是獲取POST數據的最可靠方式,因為它無需考慮Content-Type,並且對內存的消耗較低。
5. php獲取post參數的幾種方式是什麼
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據
解釋:也就是表單POST過來的數據
方法2、file_get_contents(「php://input」);
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype=」multipart/form-data」。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。
此變數僅在碰到未識別 MIME 類型的數據時產生。
$HTTP_RAW_POST_DATA 對於 enctype=」multipart/form-data」 表單數據不可用
如果post過來的數據不是PHP能夠識別的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如 text/xml 或者 soap 等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數據。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以後的數據。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數據取決於centent-Type的設置,即POST數據時 必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的數據才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。
6. PHP 中的 GET 與 POST 有什麼區別
1. get是從伺服器上獲取數據,post是向伺服器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。
建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;