首页 / PHP / php实现点击可刷新验证码_php技巧
php实现点击可刷新验证码_php技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php实现点击可刷新验证码_php技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2384字,纯文字阅读大概需要4分钟。
内容图文
![php实现点击可刷新验证码_php技巧](/upload/InfoBanner/zyjiaocheng/266/b4d8510a8b2645c3bcffdfd0f8725dc3.jpg)
<?php class ValidationCode { private $width,$height,$codenum; public $checkcode; //产生的验证码 private $checkimage; //验证码图片 private $disturbColor = ''; //干扰像素 function __construct($width='80',$height='20',$codenum='4') { $this->width=$width; $this->height=$height; $this->codenum=$codenum; } function outImg() { //输出头 $this->outFileHeader(); //产生验证码 $this->createCode(); //产生图片 $this->createImage(); //设置干扰像素 $this->setDisturbColor(); //往图片上写验证码 $this->writeCheckCodeToImage(); imagepng($this->checkimage); imagedestroy($this->checkimage); } private function outFileHeader() { header ("Content-type: image/png"); } private function createCode() { $this->checkcode = strtoupper(substr(md5(rand()),0,$this->codenum)); } private function createImage() { $this->checkimage = @imagecreate($this->width,$this->height); $back = imagecolorallocate($this->checkimage,255,255,255); $border = imagecolorallocate($this->checkimage,0,0,0); imagefilledrectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$back); // 白色底 imagerectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$border); // 黑色边框 } private function setDisturbColor() { for ($i=0;$i<=200;$i++) { $this->disturbColor = imagecolorallocate($this->checkimage, rand(0,255), rand(0,255), rand(0,255)); imagesetpixel($this->checkimage,rand(2,128),rand(2,38),$this->disturbColor); } } private function writeCheckCodeToImage() { for ($i=0;$i<=$this->codenum;$i++) { $bg_color = imagecolorallocate ($this->checkimage, rand(0,255), rand(0,128), rand(0,255)); $x = floor($this->width/$this->codenum)*$i; $y = rand(0,$this->height-15); imagechar ($this->checkimage, rand(5,8), $x, $y, $this->checkcode[$i], $bg_color); } } function __destruct() { unset($this->width,$this->height,$this->codenum); } } ?>
包含文件
<?php session_start(); require_once('CreateImg.class.php'); $image = new ValidationCode('80','20','4'); //图片长度、宽度、字符个数 $image->outImg(); $_SESSION['validationcode'] = $image->checkcode; //存贮验证码到 $_SESSION 中 ?>
前台文件 demo.php
?php session_start(); $test = $_POST['test']; $test = strtoupper(trim($test)); $submit = $_POST['submit']; if(isset($submit)){ if($test==$_SESSION['validationcode']){ echo 'true'; } else { echo 'false'; } } ?>Image ![]()
以上就是为大家介绍的php点击验证码即可刷新的全部代码,希望对大家的学习有所帮助。
内容总结
以上是互联网集市为您收集整理的php实现点击可刷新验证码_php技巧全部内容,希望文章能够帮你解决php实现点击可刷新验证码_php技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。