phppost為空
A. 關於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
B. 在html中包含一個php文件,而在php中通過POST得到的是空。
iframe內的內容可以理解為是屬於子窗口的,為當前的html也可以理解為父窗口,要在父窗口得到子窗口的內容是不可以直接拿到的,需要用js方法將子窗口的內容拿到父窗口來,然後在父窗口的提交,post中才會有form中要提交的內容。
C. PHP post表單 為什麼顯示網頁為空白
學php,在傳值的時候記得用print_r($var_name).列印參數名和內容。 你可以先這樣測試 在inout.php 頁面協商 <? print_r($_POST); ?> 這個會列印所有的傳值內容。你先試一下「
gnnba 」 的回答 echo $_POST['name'] 。如果可以的話原因可能使你的伺服器配置原因。不允許簡化變數,post的用echo $_POST['name'] ,get的用echo $_GET['name'] 。你可以在php.ini 裡面修改一個配置。具體的你懂得。。。。
D. php怎麼樣判斷多個post值是否為空
//設
$_POST=array('name'=>'','name2'=>'e','name3'=>'r','name4'=>'','name5'=>'');
$t=array_keys($_POST,'');//如果空格不算空,就用這條
$t=array_keys(array_map('trim',$_POST),'');//如果空格算空,就用這條
if($t){//有空數據項
print_r($t);//值就是為空的項
}
E. http post參數值字元過長,PHP服務端接收數據為空
Windows 環境下的修改方法
第一步:修改在php下POST文件大小的限制
1.用編輯器打開php.ini
找到:max_execution_time =30 ,這個是每個腳本運行的最長時間,單位秒,修改為:
max_execution_time = 150
找到:max_input_time = 60,這是每個腳本可以消耗的時間,單位也是秒,修改為:
max_input_time = 300
找到:memory_limit = 128M,這個是腳本運行最大消耗的內存,根據你的需求更改數值,這里修改為:
memory_limit = 256M
找到:post_max_size = 8M,表單提交最大數據為8M,此項不是限制上傳單個文件的大小,而是針對整個表單的提交數據進行限制的。限制范圍包括表單提交的所有內容.例如:發表貼子時,貼子標題,內容,附件等…這里修改為:
post_max_size = 20M
找到:upload_max_filesize = 2M ,上載文件的最大許可大小 ,修改為:
upload_max_filesize = 10M
第二步: Apache環境中的檔案上傳大小控制
修改位於Apahce目錄下的httpd.conf
添加下面內容
LimitRequestBody10485760
即10M=10*1024*1024,有的文章中提到應改為 600000000
重新啟動apache,就可以在設置里看到你要的大小
Linux 環境下的修改方法
vim /etc/php.ini
找到 File Uploadsh區域修改以下幾個參數: file_uploads = on;是否允許通過HTTP上傳文件的開關。默認為ON即是開 upload_tmp_dir;文件上傳至伺服器上存儲臨時文件的地方,如果沒指定就會用系統默認的臨時文件夾(moodle可以不改)
upload_max_filesize = 8m ;允許上傳文件大小的最大值.
找到 Data Handling區域,修改 post_max_size = 8m;指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認為8M
設上述四個參數後,上傳小於8M的文件一般不成問題。但如果上傳大於8M的文件,只還得設置以下參數:
在Resource Limits 區域: max_execution_time = 600;每個PHP頁面運行的最大時間值(秒),默認30秒 max_input_time = 600;每個PHP頁面接收數據所需的最大時間,默認60秒 memory_limit = 8m;每個PHP頁面所吃掉的最大內存,默認8M
F. thinkphp怎麼判斷post提交是否為空
thinkphp判斷post提交是否為空的方法如下:
1、HTML中form代碼:
<div class="login">
<form method="post" action="{:U('login')}">
<p><img src="{:U('verify')}"></p>
<div class="clear"></div>
<p>驗證碼:<input type="tel" name="verify" class="code"></p>
<p><input type="submit" class="sub" value="提交"></p>
</form>
</div>
2、控制器部分代碼:
* 登陸處理類
*/
public function login(){
if (!IS_POST) {
$this->error('頁面不存在');
}
$Verify = new \Think\Verify(); //這里開始校驗參數是否為空
$code =I('post.verify');
if(!$Verify->check($code)){
$this->error('驗證碼錯誤');
}
redirect($_SERVER['HTTP_REFERER']);
}
驗證碼校驗函數:
function check_code($code, $id = ""){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}
校驗規則:如果返回false就證明校驗失敗。
G. php怎麼樣判斷多個post值是否為空
一個一個判斷。empty判空。
//設$_POST = array('name' => '', 'name2' => 'e','name3' => 'r','name4' => '','name5' => ' ');$t = array_keys($_POST, '');//如果空格不算空,就用這條$t = array_keys(array_map('trim', $_POST), '');//如果空格算空,就用這條if($t) { //有空數據項 print_r($t); //值就是為空的項}
if($name1=='' || $name2="" || $name3=""){
echo '請輸入數據';
exit;
}
<form action="add.php" method="post"><input type="text" name="name[]"><input type="text" name="name[]"><input type="text" name="name[]"><input type="text" name="name[]"><input type="text" name="name[]"></form> <?php//這里的$name將會得到一個數組$name=$_POST['name'];foreach ($name as $value){ if($value=="") { echo "不能有空值"; exit(); }}$sql="insert into book values('$name[0]','$name[1]','$name[2]','$name[3]','$name[4]')";mysql_query($sql); ?>
這個覺得好用
循環數組,判斷值是否為空就可以了。
單個獲取表單值,if判斷是否為空。
H. PHP中為什麼POST函數輸出的內容是空的
你把print_r 換成var_mp就行了,
看的方便 你可以這樣
echo"<pre>";
var_mp($_POST);
echo"</pre>"
I. PHP中POST這一段,得到的是空白怎麼回事
你可以審查下元素,看看有沒有抓取到