一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP實現登錄驗證碼校驗功能

PHP實現登錄驗證碼校驗功能

2019-10-07 11:43default PHP教程

這篇文章主要為大家詳細介紹了PHP實現驗證碼校驗功能,主要是利用PHP中的 SESSION功能來實現,具有一定的參考價值,感興趣的小伙伴們可以參考一下

驗證碼的校驗是利用PHP中的 SESSION功能來實現。

在最頂端聲明函數 session_start(); 告訴服務器我們要用這個函數的功能。

session_start();

接下來我們用到的就是驗證碼實現的代碼。這里用英文數字的代碼為例。

$image = imagecreatetruecolor(100, 30); //創建一個100×30的畫布
$white = imagecolorallocate($image,255,255,255);//白色
imagefill($image,0,0,$white);//覆蓋黑色畫布

然后在驗證碼實現之前聲明一個空變量,用來存放驗證碼。

$session = ""; //空變量 ,存放驗證碼
for($i=0;$i<4;$i++){
 $size = 6;
 $x = $i*25+mt_rand(5,10);
 $y = mt_rand(5,10);
 $sizi_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));
 $char = join("",array_merge(range('a','z'),range('A','Z'),range(0,9)));
 $char = str_shuffle($char);
 $char = substr($char,0,1);
 imagestring($image,$size,$x,$y,$char,$sizi_color);
 $session .= $char ; //把驗證碼的每一個值賦值給變量
}
 $_SESSION['session'] = $session; //這個變量的值與用戶輸入的值相等

for($k=0;$k<200;$k++){
 $rand_color = imagecolorallocate($image,mt_rand(50,200),mt_rand(50,200),mt_rand(50,200));
 imagesetpixel($image,mt_rand(1,99),mt_rand(1,29),$rand_color);
}
for($n=0;$n<5;$n++){
 $line_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));
 imageline($image,mt_rand(1,99),mt_rand(1,29),mt_rand(1,99),mt_rand(1,29),$line_color);
}
header('content-type:image/png');//設置文件輸出格式
imagepng( $image ); //以png格式輸出$image圖像
imagedestroy( $image ); //銷毀圖像

用 POST 方式來接收驗證碼。 strtolower 函數是讓服務器不區分大小寫。這樣可以有效減少用戶的輸錯率。

if(isset($_POST['session'])){
 session_start();
 if(strtolower($_POST['session'])==strtolower($_SESSION['session'])){
  echo'<font color="#0000CC">輸入正確</form>';
 }else{
  echo '<font color="#CC0000"><b>輸入錯誤</b></font>';
 }
 exit();
}

下面是HTML的頁面代碼。

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8"/>
 <title>確認驗證碼</title>
</head>
<body>
 <form method="post" action="./tushu.php">
 <p>驗證碼圖片:<img id="img" border="1" src="http://localhost//xxx.php" width="100" height="30"></p>
 <a href="javascript:void(0)" rel="external nofollow"  onclick="document.getElementById('img').src='http://localhost//xxx.php'">看不清?換一個</a>
 <p>請輸入圖片中的驗證碼:<input type="text" name="session" value=""/></p>
 <p><input type="submit" value="提交" style="padding:6px 10px;"></p>
 </form>
</body>
</html>

總結

以上所述是小編給大家介紹的PHP實現登錄驗證碼校驗功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 97色轮| 9久热久爱免费精品视频在线观看 | 草草影院永久在线观看 | 果冻传媒在线播放观看228集 | 99影视在线视频免费观看 | 大胆暴露亚洲美女xxxx | 欧美成人中文字幕在线看 | 极品妖艳许清赵丽全文免费阅读 | 国产成人综合久久精品红 | 亚洲国产成人精品不卡青青草原 | 久久精品一区二区免费看 | 女仆掀起蕾丝裙被打屁股作文 | 被夫上司侵犯了中文字幕 | 美女无遮挡 | 色图图片 | 被强迫调教的高辣小说 | 欧美在线观看视频一区 | 亚洲AV无码国产精品色午夜情 | 亚洲AV无码偷拍在线观看 | 99精品国产综合久久久久 | 日韩欧美中文字幕一区 | 99精品国产高清自在线看超 | 久久中文电影 | 农夫69小说恋老妇小说 | 欧美日韩中文字幕在线视频 | aaa一级特黄 | 成年人在线免费看 | 涩涩屋在线观看 | 日韩毛片网 | 国产欧美久久一区二区 | 美女在线看永久免费网址 | 摄像头东北对白清晰 | darkside动漫在线观看 | 黄网在线观看免费网站台湾swag | 欧美最猛性xxxxx男男 | 午夜黄视频 | 操儿子 | 久久精品一区二区三区资源网 | 隔壁老王国产精品福利 | 猛操女人 | 国产网站免费观看 |