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 相关文章推荐
example1.php
Oct 09 PHP
获得Google PR值的PHP代码
Jan 28 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
PHP输出时间差函数代码
Jan 28 PHP
php之XML转数组函数的详解
Jun 07 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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解析html的实现代码
2011/08/08 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
Java中final关键字详解
2015/08/10 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
解决vue+webpack打包路径的问题
2018/03/06 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
js实现简单分页导航栏效果
2019/06/28 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
详解python中@的用法
2019/03/27 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python的历史与优缺点整理
2020/05/26 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
读书月活动方案
2014/05/22 职场文书
年度考核表个人总结
2015/03/06 职场文书
观看建国大业观后感
2015/06/01 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS