PHP编程之验证码

1.创建验证码函数

验证码函数输入通用函数,将函数放入global.func.php里。

//创建一个随机码
for($ i=0;$i<4;$i++){
$_nmsg. = dechex(mt_rand(0,15));
} //将验证码保存到session里
$_SESSION['code'] = $_nmsg; //设定验证码的图片的长度和高度
$_width = 75;
$_height = 25; //创建图片
$_img = imagecreatetruecolor($_width,$_height); //创建一个白色
$_white = imagecolorallocate($_img,255,255); //填充背景
imagefill($_img,0,0,$_white); //创建一个黑色的边框
$_black = imagecolorallocate($_img,100,100,100);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black); //随机划线条
for($i = 0;$i<6;$i++){
$_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($_img,mt_rand(0,75),mt_rand(0,75),mt_rand(0,75),$_rnd_color);
} //随机打雪花
for($i=1;$i<100;$i++){
imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_heigth),"*",
imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
} //输出验证码
for($i=0;$i<strlen($_SESSION['code']);$i++){imagestring($_img,mt_rand(3,5),$i*$_width/4+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],imagecoklorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
} //输出销毁
header("Content-Type:image/png");
imagepng($_img);

2.注册页面调用

code.php已经生成一张图片,所以,直接用图片插入的方式即可
<img src = "code.php" id="code"/>
JS点击局部刷新
这段代码放入图片区域,可以自动刷新局部 onclick = "javascript:this.src = 'code.php?tm = '+Math.random()" 然后采用分离JS的原则分离出去

3.将验证码包装成函数

在核心函数里创建一个_code 函数,将验证码代码放入。
然后设置参数,最大的提供灵活性。
注意:如果没有任何设置,必须有默认值

4.编写函数注释

将_code() 函数编写注释,让代码更清晰

最新文章

  1. Welcome Phalcon
  2. linux 下 用户与用户组
  3. 启动和JQuery绑定--AngularJS学习笔记(二)
  4. Nginx--Windows环境下Nginx+tomcat配置(包括动静分离)
  5. [LintCode] Find the Weak Connected Component in the Directed Graph
  6. jquery.form插件
  7. 理解Linux启动过程
  8. AnimImageView
  9. 二次战CPP链表
  10. 转: 如何用linux命令修改linux主机ip网关子网掩码
  11. [VBA]发布一个计算桩号之差的Excel自定义函数(VBA)
  12. 关于ViewPager被嵌套在ScrollView中不显示的问题
  13. ReviewBoard安装和配置札记
  14. python脚本,计算起点终点高程
  15. coreRT 和 Native 编译netcore AOT程序
  16. 日常记Bug
  17. Ubuntu开机启动roscore服务的设置
  18. odoo 订餐系统之消息提醒
  19. C和C指针小记(六)-基本声明、指针声明、typedef 、常量、作用域、链接属性、存储类型、static
  20. [django]django 3种返回json方法

热门文章

  1. Sharepoint JSCOM 列表操作
  2. (反NIM)
  3. Restful 4 -- 认证组件、权限组件、频率组件、url注册器、响应器、分页器
  4. 基于Python Selenium Unittest PO设计模式详解
  5. BeanFilterUtil
  6. 关于Spring @RequestBody 自动映射模型原理
  7. FZU Problem 2238 Daxia &amp; Wzc&#39;s problem
  8. 【Java】在eclipse中使用maven进行项目构建 入门篇
  9. Redis中的LRU淘汰策略分析
  10. Spring Junit测试(非web,即不包含Controller测试)