问题一:首先先确定php配置环境没问题,如果一个服务器有的网站显示验证码有的不显示,可以排除运行环境的问题;出现这种情况有可能是:可能是php中GB库没有开启。
解决方法:打开php.ini找到extension=php_gd2.dll去掉前面的#;然后重启服务。
下个探针或者用<?php phpinfo() ?>看下是否开启GB库;
问题二:如果网站编码是utf-8的,有可能是bom头的问题,GBK编码的网站不会出现这种情况。
解决方法:使用非windows自带文本编辑器,推荐emeditor,打开下面三个文件,common.php,vdimgck.php和data/safe/inc_safe_config.php文件,然后找到右下角,如果是带签名的话,保存为不带签名的;检查也可以批量去掉下BOM头;
问题三:文件丢失 或者 权限不够
解决方法:织梦5.6,5.7的话,看下Include/vdimgck.php,Include/data/words/words.txt这个两个文件是否丢失,看是否是写入权限,common.phpdata/safe/inc_safe_config.php权限。
问题四:验证码输入正确但是登陆不进去
解决方法:删除data/session下的所有session文件记录,然后刷新页面重新登陆
问题五:上面的方法都试了不行 只能去掉验证码
解决方法:
方法1:找到/data/safe/inc_safe_config.php 去掉6即可,6控制后台登陆验证码,7控制自定义表单提交验证码;
方法2:打开dede/login.php文件找到
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
ResetVdValue();
ShowMsg('验证码不正确!','login.php',0,1000);
exit;
}
第一行替换为 if(false){
好 问题解决 不输验证码后台直接进去
去掉验证码显示的错误图片:
打开dede/templets/login.htm文件 去掉下面代码
<li><span>验证码:</span>
<input name="validate" type="text" id="vdcode" style='width:50px;text-transform:uppercase;' />
<img id="vdimgck" src=http://www.dede58.com/"../include/vdimgck.php" alt="看不清?点击更换" align="absmiddle" onclick="this.src=this.src+'?'" />
</li>