A. 求大神幫看一下一段html和php連接的代碼 為什麼post總是為空
你的代碼是正確的,可以獲取到POST數據
你可以建一個123.php文件,文件大代碼如下:(測試一下是否成功)
<?php
header("Content-Type: text/html; charset=utf-8");
echo <<<EOF
<form action=123.php method=POST>
<input name="dbname" class="dbname" value="" placeholder="輸入要操作的資料庫" onfocus="if (value =='輸入要操作的資料庫:如week12'){value ='';this.style.color='#000000'}" onblur="if (value ==''){value='輸入要操作的資料庫:如week12';this.style.color='#CCC'}" onkeydown="if(this.value=='輸入要操作的資料庫:如week12'){this.value='';this.style.color=#000000'}"type="text"/>
<br/>
<input name="sql" class="sql" value="" placeholder="輸入要操作的sql語句" onfocus="if (value =='輸入要操作的sql語句'){value ='';this.style.color='#000000'}" onblur="if (value ==''){value='輸入要操作的語句';this.style.color='#CCC'}" onkeydown="if(this.value=='輸入要操作的sql語句'){this.value='';this.style.color=#000000'}"type="text"/>
<input class="sure" name="sbtn" onclick="submit()" type="button" value="確定"/>
</form>
EOF;
if($_GET || $_POST){
print_r($_GET);
print_r($_POST);
}
?>
效果如圖:
B. 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
C. PHP中為什麼POST函數輸出的內容是空的
你把print_r 換成var_mp就行了,
看的方便 你可以這樣
echo"<pre>";
var_mp($_POST);
echo"</pre>"
D. php多行表單數據插入資料庫,怎麼判斷$_POST[...]數組是否為空
if(empty($_POST['one'])){
echo"空";
}else{
echo"不空";
}
E. 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就證明校驗失敗。
F. 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判斷是否為空。
G. js像這樣發送json到php,為什麼$_POST為空如何做
首先,盡可能利用jquery的ajax來發送數據,這樣它會自動把你的json編碼成x-www-form-urlencode的格式,這樣php的$_POST就能獲得數據了。
如果一定要用原生js來做ajax,那就要自己來實現編碼和解碼,比如這樣:
httpRequest=newXMLHttpRequest();
httpRequest.open("POST",$url,true);
httpRequest.setRequestHeader("Content-Type","application/json");
vararr=["124","424","aab","cdf","哈哈哈"];
varstr=JSON.stringify(arr);
httpRequest.send(str);
PHP端:
$data=file_get_contents('php://input');
$arr=json_decode($data,true);
print_r($arr);
H. 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);//值就是為空的項
}