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 相关文章推荐
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
PHP简单生成缩略图相册的方法
Jul 29 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
php mysql 封装类实例代码
Sep 18 PHP
php PDO异常处理详解
Nov 20 PHP
Symfony查询方法实例小结
Jun 28 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
关于laravel框架中的常用目录路径函数
Oct 23 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
安装APACHE
2007/01/15 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
python从sqlite读取并显示数据的方法
2015/05/08 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
新闻网站实习自我鉴定
2013/09/25 职场文书
促销活动总结
2014/04/28 职场文书
2016年教师节慰问信
2015/12/01 职场文书
2019毕业论文致谢词
2019/06/24 职场文书