php判斷提交
❶ 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就證明校驗失敗。
❷ thinkphp 驗證是不是ajax提交
有兩種方式,如下:
第一種方式:
PHP判斷ajax請求的原理:
在發送ajax請求的時候,我們可以通過XMLHttpRequest這個對象,創建自定義的header頭信息, 在jquery框架中,對於通過它的$.ajax, $.get, or $.post方法請求網頁內容時,它會向伺服器傳遞一個HTTP_X_REQUESTED_WITH的參數,php中就是在header一層判斷是否是ajax請求,對應的根據$_SERVER['HTTP_X_REQUESTED_WITH']判斷。
/**
* 當前請求是否ajax請求
*
* @access public
* @return bool
*/
function isAjax()
{
return isset($_SERVER['HTTP_X_REQUESTED_WITH']);
}
注意:
● 一般情況下$_SERVER['HTTP_X_REQUESTED_WITH']默認是XMLHttpRequest
● $_SERVER['HTTP_X_REQUESTED_WITH']也可以自定義創建的,使用XMLHttpRequest.setRequestHeader(name,value);參考文章:http://www.skygq.com/2011/01/04/php-check-request-from-ajax-or-normal/
第二種方式:
通過前台給php傳一個type參數來判斷,type=1則是ajax,否則是普通提交。
❸ 我用php寫的,我想判斷表單提交的內容是中文還是英文,要怎麼寫呢
mb_strlen 無論中英文都算1
strlen 中文算2,英文算1,
接收內容之後mb_strlen($str) == strlen($str) 就是英文
mb_strlen($str) == 2*strlen($str),是中文
否則是混排。
有點投機的做法
❹ 在php中進行驗證碼的判斷,對的話提交,錯誤的話,表單不提交,如何進行實現
PHP驗證程序,假設資料庫存儲的是用戶名和 md5 加密後的密碼:
// 表單提交後...
$posts = $_POST;
// 清除一些空白符號
foreach ($posts as $key => $value)
{
$posts[$key] = trim($value);
}
$password = md5($posts["password"]);
$username = $posts["username"];
$query = "SELECT `username` FROM `user` WHERE `password` = '$password'";
// 取得查詢結果
$userInfo = $DB->getRow($query);
if (!empty($userInfo))
{
if ($userInfo["username"] == $username)
{
// 當驗證通過後,啟動 session
session_start();
// 注冊登陸成功的 admin 變數,並賦值 true
$_session["admin"] = true;
}
else
{
die("用戶名密碼錯誤");
}
}
else
{
die("用戶名密碼錯誤");
}
我們在需要用戶驗證的頁面啟動 session,判斷是否登陸:
// 防止全局變數造成安全隱患
$admin = false;
// 啟動會話,這步必不可少
session_start();
// 判斷是否登陸
if (isset($_SESSION["admin"]) && $_session["admin"] === true)
{
echo "您已經成功登陸";
}
else
{
// 驗證失敗,將 $_session["admin"] 置為 false
$_session["admin"] = false;
die("您無權訪問");
}
?>
❺ PHP語言中隱藏的文本框來驗證表單是否提交什麼意思
其實也不算可靠,同樣可以偽造,一般hidden是加token避免一些非法提交的。
你後端處理post數據首先得判斷是否是post請求才能下一步操作,如果直接獲取post內容,會出現一些警告。