php验证码实现局部刷新

/*
 * Auth_code()是验证码函数
 * @access public
 * @param int $width 表示验证码的长度,默认为80
 * @param int $height 表示验证码的高度,默认为20
 * @param int $num  表示验证码中数字位数,默认为4
 * @param int $line  表示验证码中线的条数,默认为4
 * @param int $line  表示验证码中点的个数,默认为150
 */

 代码如下 复制代码

function Auth_code($width = 80,$height = 20,$num = 4,$line = 4,$dot = 150) {

 $length = floor($width/$num);  //floor:取整数部分 length:每段平均长度
 for($i=0;$i<$num;$i++)
  @$rand.=dechex(mt_rand(1,15));
 $_SESSION['code']=$rand;
 
 //新建一个黑色底的画板
 $im=imagecreatetruecolor($width,$height);
 
 //取色
 $green=imagecolorallocate($im,0,255,0);
 $red = imagecolorallocate($im,255,0,0);
 $white=imagecolorallocate($im,255,255,255);
 $black = imagecolorallocate($im,0,0,0);
 
 //填充画板
 //imagefill($im,0,0,$green);
   
 //画线
 for($i=0;$i<$line;$i++){
  $color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  imageline($im,rand(10,$width-10),0,rand(0,$width),$height,$color);
 }
 //画点
 for($i=0;$i<$dot;$i++){
  $color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  imagesetpixel($im,rand(0,$width),rand(0,$height),$color);
 }
 //画数字
 for($i=0;$i<$num;$i++) { 
  imagestring($im,5,mt_rand($i*$length+1,($i+1)*$length-8),mt_rand(0,$height-14),$_SESSION['code'][$i],$white);
 }
 
 //输出图片
 header("content-type:image/jpeg");
 imagejpeg($im);
}

 -主要函数:
       imagecreatetruecolor  //新建一个黑色底的画板
       imagecolorallocate     //取色
       imagefill                     //填充画板
       imageline                  //画线
       imagesetpixel           //画点
       imagestring             //画字符串(本验证码为数字)
       注意:在将数字验证码画上画板时要注意字体越界,所以要相应减去一些范围,详见附件。
    -局部刷新验证码:

 代码如下 复制代码
       <img src="code.php" onclick="javascript:this.src='code.php?id='+Math.random()">
时间: 2024-09-17 08:52:45

php验证码实现局部刷新的相关文章

Ajax实现带有验证码的局部刷新登录界面_AJAX相关

现在的登录界面大多数都带有:验证码的功能+验证码局部刷新+ajax登录.用ajax登录的好处最明显就是速度快,URL地址没有变化.所有现在登录功能很少再用form表单post提交了,大多数都已经采用了ajax局部访问后台然后解析返回值并显示结果到界面上面.理论还是要拿来实践才能验证的,下面直接上代码. 运行界面: 1.验证码后台访问部分上一篇博客已经介绍多了,这里介绍如何利用img中src实现局部刷新验证码的功能. html部分: <p><label class="lbrigh

Ajax实现带有验证码的局部刷新登录界面

现在的登录界面大多数都带有:验证码的功能+验证码局部刷新+ajax登录.用ajax登录的好处最明显就是速度快,URL地址没有变化.所有现在登录功能很少再用form表单post提交了,大多数都已经采用了ajax局部访问后台然后解析返回值并显示结果到界面上面.理论还是要拿来实践才能验证的,下面直接上代码. 运行界面: 1.验证码后台访问部分上一篇博客已经介绍多了,这里介绍如何利用img中src实现局部刷新验证码的功能. html部分: <p><label class="lbrigh

jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验)_JSP编程

本文实例讲述了jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验).分享给大家供大家参考,具体如下: 前台显示页面: welcome.jsp <%@ page language="java" contentType="text/html; utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transiti

.net验证码的刷新或局部刷新的方法实例_实用技巧

以验证码的刷新为例 复制代码 代码如下: <form method="post" name="login" action="">  验 证 码:<input type="text" name="code" class="text code"  /> <img src="code.php" id="code" />

JSP关于验证码局部刷新问题

问题描述 JSP关于验证码局部刷新问题 JSP注册页面中放了一个img标签,里面路径是另一个包含验证码图片的JSP页面,为什么注册页就是不显示图片呢?点击刷新链接就直接跳到验证码图片的页面去了,求大神指点 解决方案 jsp验证码刷新jsp验证码刷新jsp验证码刷新 解决方案二: 直接访问你验证码jsp页面能显示验证码没有?不能显示就是你程序有问题,能显示img的src设置有问题..a要return false阻止href跳转 <a href="xxx" onclick="

利用javascript脚本轻松实现局部刷新

AJAX,这个很熟悉的词,但是却用的很少的技术. 如今我遇到了需要局部刷新的功能,此前我考虑用AJAX技术,但是老总说不用费那么多时间,直接全部刷新得了. 我想到了既不用AJAX也不需要全部刷新的好办法. 其实,AJAX也就是 javascript脚本的应用.全拼是:AsynchronousJavaScript+XML . Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术. Ajax包括: XHTML和CSS 使用文档对象模型(Document

使用AJAX技术实现网页无闪自动局部刷新

我们在网页制作的过程中经常会遇到及时刷新数据的问题,如果使用 的方法,会造成整个屏幕不断闪烁刷新的效果,这会降低用户的操作满意度. 所以我们需要一种可以实现无闪自动刷新数据的方法来解决以上问题. 实例解决问题: 希望实现用户在进入系统以后(整个session的时效之内),如果收到新邮件则发出声音提示. 实现思路: 1.首页部分:< body onload="init('');"> // load时调用init(user); 2.js部分:用XMLHTTP实现页面局部刷新,调

使用ajax局部刷新gridview进行数据绑定示例

 很多用户都有这样需求,比如:点击按钮,刷新 GridView 中的数据,而不是这个页面刷新.使用简单的 XMLHttpRequest就可以直接实现 具体代码如下: 代码如下:  <% @ Page Language = " C# " %>    <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/

js局部刷新页面时间具体实现

这篇文章介绍了js局部刷新页面时间具体实现,需要的朋友可以参考一下   复制代码 代码如下: <head>     <title></title>     <script type="text/javascript">         function GetTime() {             var time = new Date();             var year = time.getFullYear();