Emlog默认模板下验证码是没有点击刷新功能的,要刷新验证码的话还是得按F5刷新整个页面重新获得验证码,虽然emlog验证码看得比较清楚,但要通过重新刷新网页来获得新的验证码的方法对于网站负荷和用户体验来讲都并不合适,所以有必要给验证码添加点击刷新功能了。
若要给emlog验证码添加点击刷新功能,还是很简单的,因为emlog的验证码也是img形式存在的,所以和其它类似的验证码一样,为img标签添加onclick属性就行了。
Emlog有用到验证码的源代码有如下文件:
Emlog碎语:/t/index.php
Emlog评论:/include/controller/log_controller.php
Emlog管理后台登录:includelibloginauth.php
将以上文件的验证码位置的img标签添加以下语句即可实现点击刷新验证码功能:
代码语言:javascript复制style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src '?'"
如Emlog评论:/include/controller/log_controller.php, 有以下验证码源码:
代码语言:javascript复制<img src="".BLOG_URL."include/lib/checkcode.php" align="absmiddle" /><input name="imgcode" type="text" class="input" size="5" tabindex="5" />
改成如下代码即可添加上点击刷新验证码功能:
代码语言:javascript复制<img src="".BLOG_URL."include/lib/checkcode.php" align="absmiddle" style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src '?'" /><input name="imgcode" type="text" class="input" size="5" tabindex="5" />
其它几个页面中添加验证码刷新功能方法类似,此略,注:此方法在em5.3.1正常使用,其他版本未测试。
另一种不修改内核实现评论验证码刷新的方法,在模板文件module.php中找到<?php echo $verifyCode; ?>用下面代码替换即可
代码语言:javascript复制<?php if(Option::get('comment_code') == 'y'){?><img src="<?php echo BLOG_URL;?>include/lib/checkcode.php" align="absmiddle" style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src '?'" /><input name="imgcode" type="text" class="input" size="5" tabindex="5" /><?php }?>