给验证码添加一个点击刷新的功能

作者:寒川 发布于:2010-6-5 8:29 Saturday 分类:网页编程

总所周知EMlog验证码一旦加载了却无法再次只刷新验证码,这样很不爽,偶尔看不清楚却导致必须将整个页面刷新一次才能获取新的验证码,这样严重影响用户的心情,一个小小的验证码确实能看出EMlog在人性化的一方面还需要改进。实际上一两行代码就可以使博客系统更加人性化,我们何乐而不为呢?废话不多说,下面结合EMlog讲讲如何点击验证码实现自动刷新验证码的功能。

核心代码是在img标签中加入:onclick="this.src=this.src+'?'",他的作用就是当点击图片的时候加载验证码。为了使在鼠标点击验证码图片时有手型链接效果,可以在img标签中加入style=\"cursor : pointer;\",同时还可以加入alt和title属性。

就EMlog而言,需要修改的验证码有登陆验证、评论验证及碎语验证(手机版除外),所涉及到的文件有:
/lib/function.login.php
/index.php
/t/index.php
只要将上述三文件中验证码img标签中加入:style=\"cursor : pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\",即可实现点击验证码刷新功能。本博客修改后效果如下:
点击查看原图

标签: emlog 验证码 点击刷新 博客系统

评论(6) 引用(0) 浏览(1769)

随机三位数相加减的php验证码程序

作者:寒川 发布于:2010-6-1 19:47 Tuesday 分类:网页编程

原先网上找了个只有加法的验证码程序修改为本博客的验证码,有一朋友他想要一个,其实好早前就给我说了,只是没找到他QQ号码,今天他上线发来消息,我发过去,由于此验证码需要修改博客程序才能正常使用,时隔太久,我都忘记需要修改哪儿了,自然他拿过去没能正常使用。晚饭后自己又写了一个验证码,实现三个数随机加减,感觉还挺好用的,现在贴出来分享。

<?php
/**
 * 图片验证码生成
 * copyright (c) 寒川 All Rights Reserved
 * version 1.0
 * URL: http://huikon.cn
 */
session_start();
function op()//随机输出运算符
{
 $operations=array('+','-');
 $i = mt_rand(0, count($operations) - 1);
 $op = $operations[$i]; 
 return $op;
}

function add($n1,$n2,$op)//计算
{
 switch($op)
 {
  case '+':
  $t=$n1+$n2;
  break;
  case '-':
  $t=$n1-$n2;
  break;
 }
 return $t;
}
$n =range(1,20);//建立数组
shuffle($n);//打乱

$op1=op();
$op2=op();
$expression = $n[1].$op1.$n[2].$op2.$n[3].'=?';//表达式
$total=add(add($n[1],$n[2],$op1),$n[3],$op2);//计算结果

$expression_len = strlen($expression);
$_SESSION['code'] =$total;

$img_width = 160;//图片宽度
$img_height = 30;//图片高度

$img = imageCreate($img_width, $img_height);
ImageColorAllocate($img, 255, 255, 255);//背景色
$white = ImageColorAllocate($img, mt_rand(30, 180), mt_rand(10, 100), mt_rand(40, 250));//文字颜色
$ix = mt_rand(0,10);//横坐标位置
$iy = mt_rand(0,10);//纵坐标位置
for ($i = 0; $i < $expression_len; $i++)
{
   imageString($img, 5, $ix, $iy, $expression[$i], $white);
   $ix += 14;  
}
// 输出图片
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);
imagedestroy($img);
?>

标签: 验证码 php编程 加减法

评论(4) 引用(0) 浏览(1663)

Powered by emlog 沪ICP备09072012号