❶ php驗證碼判斷
session_start();
$str_number = trim($_POST['number']);
if(strtolower($_SESSION['rand'])==strtolower($str_number )){
echo "驗證碼正確";
}else{
echo "驗證碼不正確";
}
最好加strtolower函數轉換下大小寫,這樣子,用戶在輸入時就內不用區分大小寫了容。不然用戶體驗會很麻煩,這是我個人理解。
❷ thinkphp中怎麼把手機驗證碼存入資料庫嗎,並設置一個失效時間
create table register_code(
`id` int(11) NOT NULL AUTO_INCREMENT,
`mobile` int(11) not null default 0 comment '手機號碼',
`code` int(11) not null default 0 comment '驗證碼',
`create_time` int(11) unsigned not null default 0 comment '創建時版間',
`uneffect_time` int(11) unsigned not null default 0 comment '失效時權間',
PRIMARY KEY (`id`),
index `idx_id`(`eid`),
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
❸ php實現手機驗證碼驗證注冊功能的邏輯是怎樣的
手機注冊驗證邏輯是這樣的:
首先要找簡訊服務商如:夢網、雲信使、互億無回線等等申請簡訊發答送介面。
網站實現流程如下:
第一步:用戶注冊時輸入手機號,網站首先要通過JS或者ajax+php驗證這個號碼是不是正確的手機號。
第二步:用戶點擊發送手機驗證碼,通過ajax把手機號傳到php,這時php生成一個隨機的驗證碼保存在session中,然後通過簡訊介面把這個驗證碼發送到這個手機號中。
第三步:用戶輸入手機收到的驗證碼注冊。網站用session中的驗證碼和用戶輸入的驗證碼比較。
❹ php如何實現登錄超過3次才出現驗證碼並對驗證碼進行驗證的功能
通過SESSION或COOKIE記錄登錄次數。
通過判斷值是不是要顯示驗證碼。
希望可以幫到你。
❺ 用php寫了個驗證碼代碼,能驗證,想問如何在驗證碼輸入框下提示信息
用jquery實現,在驗證碼輸入框下面寫一個div
<div id="result"></div>
假設驗證碼正確專,返回屬$yanzhengma=true
jquery代碼:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
if($yanzhengma=true)
$("#result").html("驗證碼正確");
window.open("另一個頁面");
});
});
</script>
❻ php驗證碼怎麼實現
1.新建code.php驗證碼生成文件
在此之前必須打開php的GD庫,修改php.ini文件的配置,取消extension=php_gd2.dll前面的分號。代碼如下:
<?php
session_start();
//生成驗證碼圖片
Header("Content-type: image/PNG");
$im = imagecreate(44,18);
$back = ImageColorAllocate($im, 245,245,245);
imagefill($im,0,0,$back); //背景
srand((double)microtime()*1000000);
//生成4位數字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
for($i=0;$i<100;$i++) //加入干擾象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()p , rand()0 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
$_SESSION['Checknum'] = $vcodes;
?>
2. 顯示驗證碼圖片
在需要顯示驗證碼的頁面中加入
<input type="text" name="passcode" >
<img src="code.php">
3.判斷並獲取驗證碼的值
驗證碼是通過第一步驟代碼中的$_SESSION['Checknum'] = $vcodes;賦的值,所以驗證碼的值存在$_SESSION['Checknum']當中。在驗證頁面,使用以下代碼,
...
session_start();//啟動會話
$code=$_POST["passcode"];
if( $code == $_SESSION["Checknum"])
{...}即可完成驗證碼登錄。
運行截圖:
望採納,謝謝
❼ php驗證碼重復調用問題
你可以使用兩台計算機做個測試了解SESSION機制
寫個PHP文件比如index.php 內容是<?php session_start();echo session_id();?>
每台計算機每個瀏覽器下你專再怎麼刷下SESSION_ID是不會屬變的 在伺服器SESSION目錄下可以找到輸入這個值的文件 sess_輸入的值 這個文件裡面就存的你的session('code') code值或者其它值 是不同文件保存的
希望能幫助到您!
❽ 求問一個php驗證碼失效問題
想想驗證碼的思路,就是每次登陸的地方訪問一個腳本文件,該文件生成含回驗證碼的圖片並將值寫答入到session里,提交的時候驗證登陸的腳本就會判斷提交的驗證碼是否與session里的一致。
問題出現了,在登陸密碼錯誤之後,我們不去訪問生成驗證圖片的文件,那麼如果session中的驗證碼沒有被清空,此時驗證碼就是跟上次的一樣,辛辛苦苦構建的防暴力破解就形同虛設了。
❾ php實現驗證碼,能給具體的代碼嗎 在這謝謝過各位高手了
index.php:
<?php
/* index.php start*/
if(!empty($_POST)) {
session_start();
if($_POST['seccode'] == $_SESSION['seccode']) {
echo '<script>alert("驗證成功")</script>';
} else {
echo '<script>alert("驗證失敗")</script>';
}
session_destroy();
}
?>
<form action="" method="post" />
<img id="seccode" src="seccode.php?rand=".<?=rand()?> /> <input type="text" name="seccode" /> <input type="submit" value="submit" />
<input type="button" onclick="document.getElementById('seccode').src = 'seccode.php?reload=1&' + Math.random()" value="change one"/>
</form>
<?php
/* index.php end*/
?>
******************************
seccode.php:
<?php
/*seccode.php start*/
session_start();
if(isset($_SESSION['seccode']) && empty($_GET['reload'])) {
$arr = $_SESSION['seccode'];
} else {
for($i=0; $i<4; $i++) {
$arr[] = rand(0, 9);
}
$_SESSION['seccode'] = implode($arr);
}
$im = imagecreate(90, 25);
$backgroundcolor = imagecolorallocate ($im, 255, 255, 255);
for($i = 0; $i < 4; $i++) {
$s = iconv('GBK', 'UTF-8', $arr[$i]);
$x = $i * 20 + mt_rand(0, 4) - 2;// 隨機
$y = mt_rand(0, 4); // 隨機Y
$angle = mt_rand(0,4);// 隨機角度
$text_color = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 128), mt_rand(50, 255)); // 隨機顏色
imagettftext($im,20, $angle,$x,20+$y,$text_color,"C:\\Windows\\Fonts\\SIMSUN.TTC",$s);
}
// 線條
$linenums = mt_rand(10, 32);
for($i=0; $i <= $linenums; $i++) {
$linecolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
$linex = mt_rand(0, 62);
$liney = mt_rand(0, 25);
imageline($im, $linex, $liney, $linex + mt_rand(0, 4) - 2, $liney + mt_rand(0, 4) - 2, $linecolor);
}
// 雜點
for($i=0; $i <= 64; $i++) {
$pointcolor = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 255), mt_rand(50, 255));
imagesetpixel($im, mt_rand(0, 62), mt_rand(0, 25), $pointcolor);
}
// 邊框
$bordercolor = imagecolorallocate($im , 150, 150, 150);
imagerectangle($im, 0, 0, 89, 24, $bordercolor);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
/*seccode.php end*/
?>
❿ PHP驗證碼 實現點擊刷新
這個頁面已來經被標識為image了,自也就是說已經不可用了,你可以把它當成一張圖片,先把你這個程序取個名字叫"Check_code.php"吧。然後在同一個目錄下建立一個test.php
加上一個img標簽<img name="check" id="check" src="Check_code.php"/> 這樣就能顯示這張圖片了
我想了下,似乎全用php代碼想要實現點擊後更新有點難,遂想了一段js
<script>
function picreload(){
var change=document.getElementById('check');
change.src="Check_code.php?"+Math.random();
}
</script>
這樣只要你在img標簽中加入onClick="picreload()"就能點擊圖片更新驗證碼;或者你在其他標簽中加入這個事件也能達到這個效果
這段js不難懂,如果你有不懂的地方再問就好了