⑴ 自己用php編寫的驗證碼類,但怎麼驗證圖片和我session出來的驗證代碼不相同呢
session被重置;
⑵ jsp頁面圖形驗證碼與session不同步
jsp中要做到驗證碼同步,最好別用session,有延時問題。
以下是實現思路:
1.在jsp頁面用js生成驗證碼並保存在變數中,驗證碼作為參數傳到java(繼承了HttpServlet)類
2.根據jsp頁面中傳過來的驗證碼畫出一個有干擾線或干擾點的圖片
3.在WEB-INF/web.xml中配置 servlet
4.在jsp頁面調用配置好的servlet,一般是通過<img src="servlet名" id="code"/>調用
5.提交數據之前驗證
<form onsubmit="return validate();"……/>
局部刷新驗證碼:<a href="#" onclick="javascript:show();return false;">看不清,換一張!</a>-
⑶ 用php做的驗證碼session保存輸出的和顯示的圖片驗證碼不同,怎麼解決
圖片驗證碼顯示的是這次的驗證碼,而你在圖片輸出之前列印輸入的驗證碼是上一次的驗證碼,你只要一提交,提交後的接受的驗證碼就和圖片上的驗證碼一樣了
⑷ 你好 我想問一下你 thinkphp 下生成驗證碼和session的值不一致 怎麼解決的
thinkphp的驗證碼傳遞到後台需要md5再和session的值進行比對的呀
⑸ thinkphp3.2版本,輸入驗證碼發現輸入的驗證碼md5加密後跟SESSION保存的不一致
你的驗證碼是加密後的數字,而session是隨機生成的,兩個就不可能是一樣的
⑹ PHP圖片驗證碼與輸入驗證不同步
用cookie
因為tab.php載入<img src="check.php" />的時候會改變session.
把check.php的$_SESSION['tu']換成$_COOKIE['tu']
tab.php的<input ... />刪除掉
在判斷驗證碼的時候用
check = document.cookie.indexOf("tu=" + document.getElementById("驗證碼輸入框id").value);
如果check >= 0 則表示驗證碼正確
⑺ php 驗證碼 session不同步
你這個驗證碼的圖片都是錯的。。,先要有個好的驗證碼圖片才能驗證啊
yzm.php
<?php
//生成驗證碼圖片
session_start();
Header("Content-type: image/gif");
srand((double)microtime()*1000000);
$im = imagecreate(50,25);//設置圖片的寬與高
$black = ImageColorAllocate($im, 0,0,0);//設置背景顏色
$white = ImageColorAllocate($im, 255,255,255);//設置文字顏色
$gray = ImageColorAllocate($im, 200,200,200);//干擾顏色
imagefill($im,50,25,$gray);
while(($chk_num=rand()%10000)<1000);
$_SESSION["chk_num"] = $chk_num;
//將四位整數驗證碼繪入圖片
imagestring($im, 15, 5, 1,$chk_num , $white);//5, 5, 1分別表示為字體大小,左邊距,上邊距
for($i=0;$i<100;$i++) //加入干擾象素
{
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
?>
yanzhengma.php
<html>
<head>
<title>驗證碼判斷</title>
</head>
<body>
<form method="post" action="yanzhengma.php">
<h3><span>我要評價:</span></h3>
<input type="hidden" name="guestbook[username]" id="guestbook[username]" value="{$title}" />
<input type="hidden" value="{$contentid}" name="guestbook[title]" id="guestbook[title]"/>
<textarea name="guestbook[content]" cols="80" rows="7" class="text" id="contentid"></textarea><br>
請輸入驗證碼:<input type="text" name="yzm" id="yzm" >
<img src="yzm.php" id="checkcode" onClick="this.src='yzm.php?id='+Math.random()*5;" style="cursor:pointer;" alt="驗證碼,看不清楚?請點擊刷新驗證碼" align="absmiddle"/><br>
<input type="submit" name="dosubmit" value="提交"/>
<input type="reset" value="重置"/>
<?php
error_reporting(0);
session_start();
if (isset($_POST['dosubmit']))
{
if ($_POST['yzm'] == $_SESSION["chk_num"])
{
echo "<br>"."驗證碼正確";
}
else
{
echo "<br>"."驗證碼錯誤";
}
}
?>
</form>
</body>
</html>
這是個驗證的實例,是好的,你可以看看
⑻ php session存儲驗證碼session存在伺服器端。連個人同時打開登錄界面 有一個人的驗證碼會不對
第1個不用考慮,伺服器生成的sessionID不同。只有你在同一個瀏覽器打開多個登陸頁面才影響之前的。
第2個你兩上地方都調用同一個,後面的當然把前面的覆蓋了。你可以考慮把驗證碼存放在不同的數組中嘛。 $_SESSION['login'] = array('code' => xxx, 'time' => xxx); $_SESSION['message'] = array('code' => xxx, 'time' => xxx);
⑼ php的驗證碼和session的code值不一致!
因為你做一個非同步操作。 。
1驗證碼負載 - 顯示圖片 - 計入會議
2頁面載入 - 閱讀會議
這不是一個兩個步驟的順序,所以你只能得到通過刷新來的最後一次會議。
您可以參考 http://gqy2468.javaeye.com/blog/690941 這里的措辭。
⑽ PHP+AJAX session 驗證碼跟生成的不一致!
因為你做了一個非同步的操作。
1.驗證碼載入--顯示圖片--存入SESSION
2.頁面載入--讀取SESSION
這2步不是順序進行的,所以你只能通過刷新取到上次的SESSION。
你可以參考http://gqy2468.javaeye.com/blog/690941這里的寫法。