最新文章
- MySQL中, group by 和 order by 一起使用会有排序问题,group by 和 order by 同时使用时要注意的地方
- Vue学习笔记(10) ——Vue组件中的data和methods
- Vue学习笔记(9) ——Vue组件创建的几种方式
- Vue学习笔记(8) ——Vue实例的生命周期
- Vue学习笔记(7) —— 过滤器 filter的基本使用
- Vue学习笔记(6) ——v-if指令和v-show指令
- Vue学习笔记(5) —— v-for指令和key属性
- Vue学习笔记(5) —— Vue中样式-class样式和style样式
- Vue学习笔记(4) —— v-model指令,双向数据绑定
- Vue学习笔记(3) —— Vue事件修饰符
关注我

在线咨询
x
有什么可以帮到你

点击咨询
PHP生成随机图形验证码,点击实现切换
- 分类:PHP技术
- 时间:2017-11-02
- 共678人围观
简介/*
* 为什么循环0-15的数字
* 因为要实现最简单的字母和数字混搭
* 16进制0-9 a-f
* dechex 十进制转换为16进制
* 创建一个四位的验证码.
* $nmsg. 将每次循环的值累计起来
* $num 生成几位数的验证码
*/
一、PHP生成随机验证码
/* * 为什么循环0-15的数字 * 因为要实现最简单的字母和数字混搭 * 16进制0-9 a-f * dechex 十进制转换为16进制 * 创建一个四位的验证码. * $nmsg. 将每次循环的值累计起来 * $num 生成几位数的验证码 */ function createCode($num){ $nmsg = ''; for($i=0;$i<$num;$i++){ $nmsg .= dechex(mt_rand(0,15)); } // 将字母转化成大写,实现用户无论输入大小写字母都能验证成功 $nmsg = strtolower($nmsg); //验证码数组准备完成,开始绘图 ob_clean(); //设定标头.告诉浏览器你要生成的MIME类型 header('Content-type:image/png'); //创建一个图形区域.赋值给资源句柄 $im=imagecreatetruecolor(75,25); //在空白的图像区域绘制填充背景 $blue=imagecolorallocate($im,0,102,255); //颜色1 背景 $white=imagecolorallocate($im,255,255,255); //颜色2 文字 imagefill($im,0,0,$blue); //填充颜色 //生成文本信息.将验证码的字符串写入图片. imagestring($im,5,18,5,$nmsg,$white); //输出最终图形 imagepng($im); //清除占用的资源 imagedestroy($im); //选择 Session,把生成的随机验证码存入session中 session_start(); $_SESSION["verification"] = md5($nmsg); }
二、前面页面引用
<img id="checkpic" onclick="changeCode()" src="PHP实现验证码路径" style="width: 80px;heigth:50px;" />
三、javascript 实现点击切换
<script type="text/javascript"> function changeCode(){ // 加 Math.random() 的作用的改变url,实现验证码切换 document.getElementById('checkpic').src="HP实现验证码路径&rand="+Math.random(); } </script>