導航:首頁 > 編程語言 > php提交檢測

php提交檢測

發布時間:2022-11-26 16:40:01

php能否檢測表單提交的是post還是get

超全局變數咯 if($_POST){echo 'post提交的呀'}else if($_GET){echo 'get提交的呀'}else{echo "你什麼都沒有提交啊"}
這里只判斷了是否BOOL 沒有提交的話就是FALSE 用ISSET函數也可以 當然要先提交以後 在接收的頁面寫才有用 而且貌似有一個變數還是函數來著能直接判斷的。。忘記是什麼了

㈡ 如何防止php惡意提交

表單提交時候增加驗證碼,可以有效防止灌水機提交數據。但是隨著圖形圖像識別程序變的更加強大,驗證碼識別也不斷的在提高他的難度,有些驗證碼甚至加入了聲音的識別,一些小站點可以採用這樣的方式。


另外對於一些內容發布,可以考慮使用其他一些審核的方式,比如郵件確認等,只有通過審核的信息才能夠正確被顯示。


尤其是一些開源程序,通常是採用一些簡單的名稱,例如:title,body等,這些表單很容易被構造,如果打亂表單的名稱和順序,則不會讓灌水機那麼輕易的提交數據,當然前提是你的程序中要對每個欄位的數據進行處理。


對於一些惡意的內容信息禁用關鍵詞,讓他無法正常提交活著被評比,禁用ip在adsl時代實用性不大,但也算是一種辦法,禁用帳號么也算是一種方法了,類似很多社區的禁言功能。


防止屏蔽的方法有許許多多,但是總是有辦法被破解的,只要你是開放給別人提交的,總會遭到惡意的提交的,所以這個是無法完全杜絕的只能盡量避免。

㈢ php的表單提交的時候資料庫中為什麼還是有空數據的存在

您好,您檢查一下在規則校驗後是否阻斷了資料庫的提交,建議您使用資料庫事務操作,這樣確保數據正確

㈣ PHP如何檢測按鈕被按下

我仔細看了一下你的代碼,你的問題不在於檢測按鈕是否被按下,因為SUBMIT按鈕根本就無所謂檢不檢測,因為他是用於提交的,你提交了,當然就按了,沒有提交,你的PHP文件怎麼可能執行?連調都沒調用,除了那種用GET方法從地址欄輸入值的還差不多。當然還有種情況是把提交按鈕隱藏起來,用一個顯示的普通按鈕代替,這種技術一般是在使用JS時採用的。意思就是說,你按了SUBMIT按鈕就會提交值,這沒有任何懷疑,你採用了POST方法,又沒按SUBMIT按鈕,那麼,就不可能提交值。

對客戶端的數據你這里省略了過濾這不是個好習慣。

$_POST[deptno]等等你可以先付給一個變數:$deptno=$_POST['deptno']
.這樣也利用你檢查,也規范些

總結我以上說的意思就是,不要去檢查SUBMIT按鈕是否按了,而是要檢查數據,不如是否為空之類的,是否有特殊字元,是否有SQL注入等等。

㈤ php如何檢測輸入框里是否為空

比如說你的表單代碼 (隨手寫的)
<form method="post" action="/check.php">
<input type="text" name="content" id="content" />
<input type="submit" value="提交" />
</form>

兩種發發, 一種js前台判斷,一種提交到伺服器php來判斷

js :
<form method="post" action="/check.php">
改成 (加了一個 onsubmit)
<form method="post" action="/check.php" onsubmit="return checkForm()">
然後寫一個簡單的js判斷一下
<script type="text/javascript">
function checkForm(){
var tag = false;
var checkText = document.getElementById("content").value;
if ( checkText == "" || checkText == null ){
alert("未輸入");
}else{
alert("已輸入");
tag = true;
}
return tag;
}
</script>
這個js代碼要放在表單所在的文件里, 或者你寫成js文件導入也可以
比如說把頭尾的<script>去掉,保存成checkform.js
然後<script type="text/javascript" src="/checkform.js">

服務端php:
form那行就不要改了.
直接在check.php里寫
<?php
$checkText = $_POST['content'];
if ( empty( $checkText ) ){
echo '<script type="text/javascript">alert("未填寫");historty.go(-1)</script>';
exit; //寫exit是很必要的, 防止瀏覽器禁用JS, 如果有人說不用寫你抽他.
}
//這里不用else了,能執行到這一行不用再判斷
echo '<script type="text/javascript">alert("未填寫");historty.go(-1)</script>';
?>

這就是最基本的兩個方法, 當然如果js被禁用就要相別的方法了, 比如說用head跳轉?
ajax判斷表單?等等的. 很多
先掌握這兩個吧

維度IDC解答

㈥ PHP表單提交做判斷的問題

64行有誤,語法錯誤:

if(form.yzbm.value.length != 6 && form.yzbm.value != ){

另外給你一個我自己做項目經常用的驗證方法:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My Check Form</title>
</head>
<script type="text/javascript">
//主函數
function CheckForm(oForm) {
var err_ele = null;
var ele = oForm.elements;
var haserror = false;
//遍歷所有表元素
for(var i=0;i<ele.length;i++) {
//過濾元素類型
if(ele.type != 'submit' && ele.type != 'hidden' && ele.type != 'button') {
//是否需要驗證標簽
var required = ele[i].getAttribute('required');
if(required!="undefined" && (required==""||required=="true"||required=="yes") ) {
if(!validate(ele[i])) {
if(err_ele==null)
err_ele = ele[i];
haserror = true;
break;
}
}
}
}
//判斷是否有沒有通過驗證的項目
if(haserror) {
err_ele.focus();
return false;
} else {
return true;
}
}

//得到表單元素的值
function getvalue(ele) {
var type = ele.getAttribute('type');
switch(type) {
case 'text':
case 'hidden':
case 'password':
case 'file':
case "select-one":
case 'textarea':
return ele.value;
}
}

//檢測函數
function validate(ele) {
//得到設定的檢測函數
var fun = ele.getAttribute('fun');
//自定義提示語句
var custommsg = ele.getAttribute('msg');

if(fun!=null) {
var checkarr = executeFunc(fun,ele);
if(checkarr[2] == 'regxp') { //正則表達式處理
if(!regValidate(getvalue(ele),checkarr[0])) {
//如果有自定義提示語句則使用自定義提示語句
if(custommsg) {
alert(custommsg);
} else {
alert(checkarr[1]);
}
return false;
}
} else if(checkarr[2] == 'custom') { //函數自行邏輯處理
//如果驗證通過
if(!checkarr[0]) {
//如果有自定義提示語句則使用自定義提示語句
if(custommsg) {
alert(custommsg);
} else {
alert(checkarr[1]);
}
return false;
}
}
}
return true;
}

//運行函數
function executeFunc(name,element) {
//匹配函數是否帶有參數
if(name.match(/^[\w]+\([\w,\'\"]+\);?$/)) {
return eval(name.replace(/^([\w]+)\(([\w,\'\"]+)\);?$/,'$1($2,element)'));
} else {
return eval(name.match(/^[\w]+\(\)$/) ? name : name + '(element)');
}
}

//
//判定某個值與表達式是否相符
function regValidate(value,sReg) {
//字元串->正則表達式,不區分大小寫
var reg = new RegExp(sReg ,"i");
if(reg.test(value)) {
return true;
} else {
return false;
}
}

//////////////////////////////////驗證規則定義///////////////////////////////

// 正則類驗證
function UserName() {
var rt = new Array();
rt[0] = '^([a-zA-Z0-9]|[._]){4,19}$';
rt[1] = "用戶名必須為4-19個字母和數字組成";
rt[2] = 'regxp';
return rt;
}

function PassWord() {
var rt = new Array();
rt[0] = '^([a-zA-Z0-9]|[._]){6,19}$';
rt[1] = "密碼必須為6-19個字母和數字組成";
rt[2] = 'regxp';
return rt;
}

function notBlank(){
var rt = new Array();
rt[0] = "^\\S+$";
rt[1] = "該項不能為空,且不能含有空格!";
rt[2] = 'regxp';
return rt;
}

function required(){
var rt = new Array();
rt[0] = "^\\S";
rt[1] = "該項不能為空!";
rt[2] = 'regxp';
return rt;
}

//判斷email
function isEmail() {
var rt = new Array();
rt[0] = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
rt[1] = "該項填寫的EMAIL格式不正確!";
rt[2] = 'regxp';
return rt;
}

//只能輸入中文
function onlyZh() {
var rt = new Array();
rt[0] = "^[\u0391-\uFFE5]+$";
rt[1] = "該項只能輸入中文!";
rt[2] = 'regxp';
return rt;
}

//只可輸入英文
function onlyEn() {
var rt = new Array();
rt[0] = "^[A-Za-z]+$";
rt[1] = "該項只能輸入英文!";
rt[2] = 'regxp';
return rt;
}

function enOrNum() {
var rt = new Array();
rt[0] = "^[A-Za-z0-9]+$";
rt[1] = "該項只能輸入英文和數字,且不能有空格!";
rt[2] = 'regxp';
return rt;
}

function isPhone() {
var rt = new Array();
rt[0] = "^((\\(\\d{2,3}\\))|(\\d{3}\\-))?(\\(0\\d{2,3}\\)|0\\d{2,3}-)?[1-9]\\d{6,7}(\\-\\d{1,4})?$";
rt[1] = "應輸入正確的電話號碼格式!";
rt[2] = 'regxp';
return rt;
}

// 自定義類驗證函數
function isIdCard(ele) {
var rt = new Array();
rt[0] = false;
rt[1] = "應輸入正確身份證號!";
rt[2] = 'custom';

var Reg_15 = /^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/;
var Reg_18 = /^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/;
var num = ele.value;
var len = num.length;

if (len == 15) {
if (Reg_15.test(num))
rt[0] = true;
}
else if(len == 18) {
if (Reg_18.test(num))
rt[0] = true;
}
return rt;
}

function rePassword(ID,ele) {
var rt = new Array();
rt[0] = false;
rt[1] = "再次密碼輸入不一致!";
rt[2] = 'custom';

var password = document.getElementById(ID).value;
if(password != '' || ele.value != ''){
if(password == ele.value)
rt[0] = true;
}
return rt;
}
</script>

<body>
<form id="form1" name="form1" method="post" action="" onsubmit="return CheckForm(this);">
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="20%" align="right">用戶名:</td>
<td><input type="text" name="username" id="username" required="true" fun="UserName" msg="自定義提示信息:用戶名不正確,請重新輸入!" /></td>
</tr>
<tr>
<td align="right">密碼:</td>
<td><input type="password" name="password" id="password" required="true" fun="PassWord" /></td>
</tr>
<tr>
<td align="right">確認密碼:</td>
<td><input type="password" name="repassword" id="repassword" required="true" fun="rePassword('password')" /></td>
</tr>
<tr>
<td align="right">電子郵件:</td>
<td><input type="text" name="email" id="email" required="true" fun="isEmail" /></td>
</tr>
<tr>
<td align="right">身份證號:</td>
<td><input type="text" name="idcard" id="idcard" required="true" fun="isIdCard" /></td>
</tr>
<tr>
<td align="right">全中文項:</td>
<td><input type="text" name="chinese" id="chinese" required="true" fun="onlyZh" /></td>
</tr>
<tr>
<td align="right">其它:</td>
<td><input type="text" name="notblank" id="notblank" required="true" fun="notblank" /></td>
</tr>
<tr>
<td align="right"></td>
<td><input type="submit" name="button" id="button" value="提交" /></td>
</tr>
</table>
</form>

</body>
</html>

㈦ php 如何檢測用戶提交數據大小

filesize($_FILES['title']['tmp_name'])+filesize($_FILES['content']['tmp_name'])

如果我的回答沒能幫助您,請繼續追問。


您也可以向我們團隊發出請求,會有更專業的人來為您解答。

㈧ jquery+php 注冊並檢測完資料庫後form提交數據

我都看不明白你在說什麼,看了好多遍
jquery 檢測的時候總是會被jquery的回調函數牽絆住,我先等注冊完後,提交的時候用form表單提交,而不用到jquery的回調函數:

㈨ php 該如何寫才能檢測是否按了提交按鈕

if($_POST("submit")) { }

㈩ PHP編寫過程中如何檢測錯誤

一般 xx_query 函數執行的 sql 語句是 query 語句, insert, del, update這類使用 xx_exec()函數。函數一般都有返回值來表明是否成功,所以把函數返回值賦值給變數,然後判斷函數返回值,如果成功再進行成功的操作,否則執行失敗的操作。使用 var_mp($var) 列印返回值,即可查看函數的返回值

閱讀全文

與php提交檢測相關的資料

熱點內容
安卓系統如何重啟 瀏覽:174
小天才app鬧鍾怎麼改 瀏覽:962
司馬彥PDF 瀏覽:885
動力轉向編程 瀏覽:831
史瓦格期貨基本分析pdf 瀏覽:811
怎麼更改appid名字 瀏覽:235
抖音很解壓的東西 瀏覽:520
怎麼在app上進行機場升艙 瀏覽:133
fx3ga用什麼編程軟體 瀏覽:498
深度學習演算法樣本數量 瀏覽:966
電腦文件夾打開畫面塊狀 瀏覽:790
固態硬碟與機械盤的加密方法 瀏覽:634
unix編譯軟體 瀏覽:563
影視製作中西書局中央編譯出版社 瀏覽:822
變數作用域是編譯器決定的嗎 瀏覽:755
linux結構分析 瀏覽:812
程序員記錄歷史 瀏覽:798
編譯器怎麼調用構造函數的 瀏覽:97
高質量cpdf 瀏覽:824
福建電信代理伺服器雲主機 瀏覽:618