php實現字母數位混合驗證碼

2020-07-16 10:06:11

驗證碼效果如圖:

805466c7fb00559341553956aea6988.png

驗證碼呼叫地址:ApplicationHomeControllerCodeController.class.php

Vendor('Vcode.Vcode', '', '.class.php'); 
$config = array("width" => 100, "height" => 36, "count" => 4, "str" => 2); //設定 
$vcode = new Vcode($config); 
$vcode->getCode(); //獲取驗證碼 
$vcode->getImg(); //輸出圖片 
exit;

(相關免費學習視訊教學分享:php視訊教學

驗證碼圖片如下:

<img src="__APP__/code/" id="code" onclick="changeCode($('#code'))"/>

JS通過字尾加亂數Math.random()來重新整理驗證碼

function changeCode(obj) { 
 obj.attr("src", '__APP__/code/?' + Math.random()); 
}

檢測驗證碼是否輸入正確

<input type="text" id="input_code" class="input"/> 
<input type="button" value="提交" class="btn" onclick="checkCode()"/>
function checkCode() { 
  $.post("__APP__/Code/check", {code: $("#input_code").val()}, function(data) { 
    if (data == '1') { 
      alert("驗證碼正確!"); 
    } else { 
      alert("驗證碼錯誤!"); 
    } 
  }, "json") 
}

PHP驗證傳過來的引數code和當前session儲存的驗證碼進行比較,若是正確返回1,錯誤則-1

public function check() { 
    $code = I('post.code'); 
    if (strtolower($code) == $_SESSION["sucaihuo_code"]) { 
      echo "1"; 
    } else { 
      echo "-1"; 
    } 
}

相關文章教學推薦:php教學

以上就是php實現字母數位混合驗證碼的詳細內容,更多請關注TW511.COM其它相關文章!