① php怎麼識別驗證碼
使用圖片驗證碼,一般注冊機很難識別圖片上的字元。 圖片驗證碼原理:在注冊表單頁上,添加一個表單項,用於提交用戶看到的圖片驗證碼,在適合位置放一個
② php驗證碼判斷問題
沒明白你的意思, 驗證碼就是這樣, 生成的時候將驗證碼寫進session, 驗證的時候取出來的肯定是上次生成那個.
能詳細說一下你哪裡不明白么?
------------------------------
我想你是沒明白驗證碼的工作原理, 驗證碼多數情況是用來防止機器人自動發貼或注冊而採取的一種驗證手段, 在php中驗證碼多數用session來實現.
舉個例子讓你理解下流程.
1. 用戶訪問注冊頁面a.php
2. a.php輸出了一個驗證碼b.php,實際上等於用戶向b.php發送了一個請求.
3. b.php生成一個隨機數$a, 並將這個隨機數保存到session中, 然後將圖片顯示給用戶
4. 用戶填寫注冊表單並提交到c.php
5. c.php接受用戶注冊信息, 但在注冊之前要從session中取出隨機數$a和你提交上來的驗證碼做一下比較, 這個隨機數$a是在b.php那個請求中生成的, 也就是在a.php中看到的那個圖片. 比較如果相同那麼同意你進行申請, 如果不相同則返回錯誤信息並跳轉回a.php, 然後回到步驟1
這里我覺得你最應該了解的是session的作用,是用來在會話期間內在請求之間傳遞數據.
③ php如何判斷用戶輸入的驗證碼跟session中的是否一樣
首先,你把驗證碼用session保存起來,然後用戶輸入看到的驗證碼的時候就把接過來的驗證碼跟之前已經保存的驗證碼進行對比下,當然,你對比的時候不能跟生成驗證碼文件時一起的,否則就有可能導致你說的,驗證碼改變。你可以建一個頁面來做。
④ 用PHP、JS寫判斷驗證碼是否正確,不要alert彈出框,我要的是在輸入之後顯示是否正確。
注冊按鈕綁定click 事件 事件開頭判斷 Checkvar();
如果是FORM 要在 聲明onsubmit="Checkvar();"
functionCheckvar(){
varvarcode=$("#vc");//這里獲取輸入的注冊碼
vartipsmsg=$("#msg")//提示框對象
$.ajax({
url:"checkcode.php?code="+varcode+"&",
async:false,//關閉非同步
success:function(data){用回調函數檢查伺服器返回的結果
if(data=="0"){未通過
tipsmsg.html('驗證碼錯誤');
returnfalse;
}else{//通過
tipsmsg.html('成功');
returntrue;
}
}
});
}
checkcode.php
<?
session_start();
if($code==$_SESSION["code"]){
echo"1";
}else{
echo"0";
}
?>
⑤ php中用戶輸入的驗證碼怎樣用javascript 代碼進行判斷 是否輸入正確
驗證碼一般都是在伺服器隨機產生,在html頁面用ajax獲取驗證碼來和用戶輸入的驗證碼進行比較
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
function doit()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("get","auth_code.php",true);
xmlHttp.send(null);
}
function handleStateChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200 || xmlHttp.status==0)
{
checkAuthCodeInput(xmlHttp.responseText);
}
}
}
function checkAuthCodeInput(authcode)
{
if(document.getElementById("自定義").value==auth)
{
return true;
}
return false;
}
</script>
<img src="auth_code.php" id="img_auth_code"/>
<a href="document.getElementById('img_auth_code').src='auth_code.php?code='+Math.random();">看不清,再換一張</a>
//該頁面用於隨機獲取驗證碼rand_auth_code.php
<?php
function get_auth_code()
{
for($i=0;$i<5;$i++)
{
$_GLOBALS['rand_str'].=strtoupper(dechex(rand(0,15)));
rand_str_width+=imagefontwidth($i);
}
}
echo $_GLOBALS['rand_str'];
?>
<?php
include_once("rand_auth_code.php");//導入產生驗證碼的頁面
$img_width=100;
$img_height=25;
$img=imagecreatetruecolor($img_width,$img_height);
$img_bg_color=imagecolorallocate($img,0,0,0);
imagefill($img,0,0,$img_bg_color);
$img_font_color=imagecolorallocate($img,225,225,225);
get_auth_code();//調用方法,產生隨機驗證碼
$img_font_x=$img_width/2 - $rand_str_width/2;
$img_font_y=($img_height-imagefontwidth(5))/2;
imagestring($img,5,$img_font_x,$img_font_y,$_GLOBALS[rand_str],$img_font_color);
header("Content-Type:image/jpeg");
imagejpeg($img);
imagedestroy($img);
unset($_GLOBALS['rand_str']);
?>
不知是否符合你的要求
⑥ php驗證碼判斷
session_start();
$str_number = trim($_POST['number']);
if(strtolower($_SESSION['rand'])==strtolower($str_number )){
echo "驗證碼正確";
}else{
echo "驗證碼不正確";
}
最好加strtolower函數轉換下大小寫,這樣子,用戶在輸入時就不用區分大小寫了。不然用戶體驗會很麻煩,這是我個人理解。
⑦ php代碼:驗證碼錄入和判斷如何在同一頁面進行!!
生成驗證碼圖片時把值存入
$_SESSION里,在用戶前台設計一個填寫驗證碼的輸入框,把用戶提交驗證碼欄位的值跟session里存的值相比較。原理都這樣,跟是不是同一同頁面沒什麼關系。或者用ajax實現,不過看你的水平應該達不到用ajax實現的能力,
⑧ phpcms 如何判斷驗證碼輸入正確
驗證碼生成後對應的數值存貯在session中,可安裝如下代碼進行判斷:
$this->_session_start();//開啟sesseion
......
//判斷驗證碼
$code=isset($_POST['code'])&&trim($_POST['code'])?trim($_POST['code']):showmessage(L('input_code'),HTTP_REFERER);
if($_SESSION['code']!=strtolower($code)){
showmessage(L('code_error'),HTTP_REFERER);
}