php獲取post參數
A. php $_POST獲取參數問題
在表單頁面先把數組給序列化,比如json,xml或自定義的字元串如"1,2,3,4"
然後用一個<input name="myArray" value="1,2,3,4">值就提交給php的$_POST["myArray"]後,
再在php反序列化成php的數組
B. 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方法。
;C. PHP 後台怎麼接收post請求的參數
PHP 後台怎麼接收post請求的參數
HTML接收後台傳過來的值,從後台傳過來的值,我可以理解為就是從資料庫中調取過來的,還有也是是理解成是另外一個html中傳過來的值,這里我用PHP來說明這個:
php接收值可以通過GET\post主要的方式,在一個網頁中我寫一個表單,然後傳過去;
<form action="register.php" method="post">
<p class="reg">
<font>用 戶 名:</font>
<input type="text" value="" name="username" />
</p>
<p class="reg">
<font>密 碼:</font>
<input type="password" value="" name="password" />
</p>
</form>
session_start();這個是一定開啟的不然是無法接受傳過來的值的,
if(!isset($_POST['password']) || trim($_POST['password'])==''){
$message = "密碼無效";
}
這個函數就是來驗證傳過來的值,是否傳了,還有空也是不行的,
如果是從資料庫中取值的話,那就需要寫sql語句,然後在你需要的地方調用這個語句就行了。
D. PHP如何獲得POST傳來的值
POST都是以key-value的形式傳過來的。所以分兩種情況:x0dx0a如果事先知道key,可以用$_POST['your_key']取到值。x0dx0a如果事先不知道key,可以遍歷$_POST變數:x0dx0aforeach($_POST as $key=>$val) {x0dx0a echo $key.": ".$val."
\n";x0dx0a}
E. 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']中。
F. php函數裡面怎麼獲取post過來的值
使用$_POST獲取post得到的值。
$post_data=$_POST;//獲取所有的POST數據,是一個數組
$field=$_POST['name'];//根據html中的name值得到某一項具體的值
G. 關於PHP中POST傳遞參數問題
將數據轉換成 json 格式的字元串, 並通過 CURL 的 POST 的形式傳遞參數給服務端, 但是在服務端無法用 $_POST 獲取到數據。後台用 $_POST 獲取到的信息為空, 但是可以通過 $post = file_get_contents("php://input") 獲取到請求的相關信息。
Coentent-Type 的值為 application/x-www-data-urlencode 和 multipart/form-data 時, php才會將http請求數據包中的數據填進 $_POST 。
如果 POST 的原始數據是一維數組或&拼接的標准格式的鍵值對字元串,那麼可以用 $_POST 來獲取。
如果要通過 file_get_contents 獲取,這種情況下可以發送 json 字元串,用 json_encode 編碼轉換一下,或者使用 http_build_query 。
1、 區別 PHP 的 $_POST、$HTTP_RAW_POST_DATA 和 php://input
2、 accept 和 content-Type區別
3、 Http Header里的Content-Type
