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 相关文章推荐
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
杏林同学录(九)
Oct 09 PHP
基于mysql的bbs设计(一)
Oct 09 PHP
php获取新浪微博数据API实例
Nov 12 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
PHP7多线程搭建教程
Apr 21 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 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
基于header的一些常用指令详解
2013/06/06 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
Yii中表单用法实例详解
2016/01/05 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
canvas绘制多边形
2017/02/24 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
用python写测试数据文件过程解析
2019/09/25 Python
如何在python中实现随机选择
2019/11/02 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
python 实现IP子网计算
2021/02/18 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
世界上最好的足球商店:Unisport
2019/03/02 全球购物
Java如何格式化日期
2012/08/07 面试题
运动会广播稿300字
2014/01/10 职场文书
初婚初育证明
2014/01/14 职场文书
安全生产检查通报
2014/01/29 职场文书
《母鸡》教学反思
2014/02/25 职场文书
安全员岗位职责范本
2015/04/11 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书