给验证码添加一个点击刷新的功能
作者:寒川 发布于: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+'?'\",即可实现点击验证码刷新功能。本博客修改后效果如下:
随机三位数相加减的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用fsockopen()函数实现模拟提交表单。
- window下php时间戳不正确问题解决
- 夏普sharp ar-2918 显示小人和小太阳灯一直亮清除方法
- 开个淘宝网店买充值卡
- xhtml页面中用什么来替换marquee标签
- pdf、word、txt、excel等文档转flash(swf)软件—虚拟打印机FlashPaper
- 准备写点专业的东东
- Opera测试wap测试日志
- 年代,为什么要把我们区分得这么明显?
- Linux VS Windows 究竟哪个系统更好之思考
- 调整PHP和MySQL的时区,实现同步显示中国时间
- emlog博客系统升级至3.50
- 计算php代码执行时间
最新评论
- 美图看看
哎 找些药酒擦擦 - 土
我今年都25了······ - 南宁搬家公司
越听越有感觉 - 南宁搬家公司
说实在的我学计算机的excel还没学会 - 草民
我也是学php的不过现在什么也不会了 - 南宁搬家公司
最是无情了 - 南宁搬家公司
我们都已不再年轻了 - 阿芙精油
我正遇到这个问题,以前的都是从数据库读取 - 宜春人才网
情人节过去好久了。。 - 杏林男科
一不小心三八节都过了哈哈
日志档案
- 2012年4月(1)
- 2012年2月(2)
- 2011年11月(2)
- 2011年9月(1)
- 2011年8月(2)
- 2011年7月(2)
- 2011年5月(1)
- 2011年3月(3)
- 2011年2月(2)
- 2010年12月(1)
- 2010年11月(2)
- 2010年10月(3)
- 2010年9月(9)
- 2010年8月(8)
- 2010年7月(13)
- 2010年6月(18)
- 2010年5月(24)
- 2010年4月(10)
- 2010年3月(14)
- 2010年2月(6)
- 2010年1月(7)
- 2009年11月(2)
- 2009年10月(3)
- 2009年9月(3)
- 2009年8月(8)
- 2009年7月(15)
- 2009年6月(14)
- 2009年4月(2)
- 2008年12月(1)
- 2008年6月(1)
- 2008年5月(10)
- 2008年4月(9)
- 2008年3月(5)
- 2008年2月(2)
- 2008年1月(5)
- 2007年12月(4)
- 2006年9月(6)
- 2006年7月(1)


