PHP登录验证码的实现与使用方法


Posted in PHP onJuly 07, 2016

本文实例讲述了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登录验证码的实现与使用方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第一节--面向对象编程
Nov 16 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
PHP编码规范的深入探讨
Jun 06 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
如何实现php图片等比例缩放
Jul 28 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
PHP常见的6个错误提示及解决方法
Jul 07 #PHP
php生成mysql的数据字典
Jul 07 #PHP
php自定义函数实现JS的escape的方法示例
Jul 07 #PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 #PHP
PHP使用自定义方法实现数组合并示例
Jul 07 #PHP
PHP记录和读取JSON格式日志文件
Jul 07 #PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 #PHP
You might like
PHP中extract()函数的妙用分析
2012/07/11 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
setAttribute 与 class冲突解决
2008/02/17 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
JavaScript中检查对象property的存在性方法介绍
2014/12/30 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
python抖音表白程序源代码
2019/04/07 Python
python树的同构学习笔记
2019/09/14 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
python3爬虫中异步协程的用法
2020/07/10 Python
scrapy-splash简单使用详解
2021/02/21 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
房地产销售员的自我评价分享
2013/12/04 职场文书
市场营销毕业求职信
2014/08/07 职场文书
英文升职感谢信
2015/01/23 职场文书
植物园观后感
2015/06/11 职场文书
小学运动会通讯稿
2015/07/18 职场文书
财务年终工作总结大全
2019/06/20 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS