PHP生成圖形化驗證碼

參考

PHP 代碼

<?php
 
session_start();
function random($len) {
    $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";
    mt_srand();
    $strs = "";
    for ($i = 0; $i < $len; $i++) {
        $strs .= $srcstr[mt_rand(0, 30)];
    }
    return $strs;
}
 
//隨機生成的字符串
$str = random(4); 
 
//驗證碼圖片的寬度
$width  = 50;      
 
//驗證碼圖片的高度
$height = 25;     
 
//聲明需要創(chuàng)建的圖層的圖片格式
@ header("Content-Type:image/png");
 
//創(chuàng)建一個圖層
$im = imagecreate($width, $height);
 
//背景色
$back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
 
//模糊點顏色
$pix  = imagecolorallocate($im, 187, 230, 247);
 
//字體色
$font = imagecolorallocate($im, 41, 163, 238);
 
//繪模糊作用的點
mt_srand();
for ($i = 0; $i < 1000; $i++) {
    imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);
}
 
//輸出字符
imagestring($im, 5, 7, 5, $str, $font);
 
//輸出矩形
imagerectangle($im, 0, 0, $width -1, $height -1, $font);
 
//輸出圖片
imagepng($im);
 
imagedestroy($im);
 
$str = md5($str);
 
//選擇 cookie
//SetCookie("verification", $str, time() + 7200, "/");
 
//選擇 Session
$_SESSION["verification"] = $str;
?>

html中調(diào)用

![](/images/checkcode.php)

js中實現(xiàn)點擊切換驗證碼

function changing(){
    document.getElementById('checkpic').src="/images/checkcode.php?"+Math.random();
} 

php中進行校驗(從session中取驗證碼顯示的數(shù)字)

$checkcode = $_SESSION["verification"];

if ($data['checkcode'] != $checkcode) {
            throw new Exception("驗證碼錯誤", 1003);
        }

一個敲代碼,愛分享的人,我在這里!

來玩啊
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自cr180大神DiscuzX2.5完整目錄結(jié)構(gòu)【source程序文件庫】 /source/admincp后臺...
    cndaqiang閱讀 1,006評論 1 2
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評論 25 709
  • Php:腳本語言,網(wǎng)站建設(shè),服務(wù)器端運行 PHP定義:一種服務(wù)器端的HTML腳本/編程語言,是一種簡單的、面向?qū)ο?..
    廖馬兒閱讀 2,357評論 2 38
  • 由于住在學校附近,旁邊住了很多學生。很不幸的是,我的鄰居印度君們,喜歡打電話,喜歡在門口打電話,喜歡大聲的在門口,...
    駭客文閱讀 668評論 0 0
  • 提交記錄git log 2.2 Git 基礎(chǔ) - 記錄每次更新到倉庫(刪除和改名)2.4 Git 基礎(chǔ) - 撤銷操...
    FredYJH閱讀 224評論 0 0

友情鏈接更多精彩內(nèi)容