dedecms57版本不显示验证码和留言提交不成功
楼主你好
首先可能是由于空间(服务器)没有加载gd库扩展导致的,因为验证码都是它完成创建的图形。
解决办法:
1、如果你是独立的服务器,可以自己操作,那么你可以去phpini中搜索extension=php_gd2dll,把它前面的;号去掉,重启IIS或者apache等其他服务器。如果你是租用的空间,那么可以找空间商,让他帮你开启。
2、如果无法达到方法1中的条件,可以尝试着用这种方法解决一下,打开织梦data文件夹下的safe文件夹,打开inc_safe_configphp文件,然后把$safe_gdopen = '1,2,3,4,5,6,7';改为$safe_gdopen = '1,2,3,4,5,7';这样你登陆后台就不用验证码了。
其次,也可能是你的后台登录文件出错了,重新下载与你网站对应编码的dedecms最新系统包,找到 /dede/templets/loginhtm 文件进行替换。其中 dede为你网站后台目录文件夹名称。
最后还有一种可能是 /include/vdimgckphp 文件损坏或者没有权限,替换文件或者修改权限即可。
综上,最后两种情况导致验证码不显示的可能性很小,很多朋友都是GD库的问题才导致验证码不显示,楼主找空间商协商即可。
希望可以帮到你。 林羽凡
织梦Dede后台验证码不显示解决方法,很多时候dedecms网站后台的验证码不显示,验证码不显示网站后台就没法登陆,常见的验证码后台不显示的情况有以下三种:
Dede后台验证码不显示情况一
Dede后台验证码不显示情况二
Dede后台验证码不显示情况三
那么以上三种方法我们应该如何解决织梦Dede后台验证码不显示?
通用解决方案---取消后台验证码功能
因为没有验证码 不能进后台 所以修改php文件源代码:
方法一:
打开dede/loginphp 找到如下代码
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
ResetVdValue();
ShowMsg('验证码不正确!','loginphp',0,1000);
exit;
}
第一行替换为 if(false){
好 问题解决 不输验证码后台直接进去
方法二
打开data/safe/incsafeconfigphp
把代码$safe_gdopen = '1,2,3,4,5,6,7'; 中的6,删除即可
Dede后台验证码不显示情况一分析
验证码需要GD库 请检查你的环境是否开启GD库
Dede后台验证码不显示情况二分析
验证码只显示背景 不显示字母
打开验证码生成文件 Include/vdimgckphp
找到
for($i=0;$i<$rndcodelen;$i++)
{
$bc = mt_rand(0, 1);
$rndstring[$i] = strtoupper($rndstring[$i]);
$c_fontColor = $fontColor[mt_rand(0,4)];
$y_pos = $i==0 4 : $i($font_size+2);
$c = mt_rand(0, 15);
@imagettftext($im, $font_size, $c, $y_pos, 19, $c_fontColor, $font_file, $rndstring[$i]);
$lastc = $rndstring[$i];
}
Imagettftext()函数没有成功的执行导致了验证码只显示背景 不显示字母
具体原因为 字体文件路径不对解决方法
1确认include/data/fonts/ 里面存在字体文件 默认为ggbittf
2在for($i=0;$i<$rndcodelen;$i++) 上一行 加上如下代码:
$font_file= str_replace("\\","/",$font_file);
即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,
$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了 导致$font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误
加上$font_file= str_replace("\\","/",$font_file);即可解决
Dede后台验证码不显示情况三分析
Include/data/words/wordstxt 文件不存在
解决方案1 拷贝一个进去
2找到代码 'word_type' => (int)$safe_codetype, // 1:数字 2:英文 3:单词
换成'word_type' =>1 (或2) 既验证码为数字或英文
Dede后台验证码不显示 全部情况解决 如果原来可以显示后来取消验证码后再设置就无法显示,可以通过覆盖data与include目录试试。
验证码是你在后台php文件里面设置关闭了,打开方式参照“http://jingyanbaiducom/article/6fb756eca34d60241858fb94html”-怎么关闭就怎么打开。
看到提交留言了,在“核心”-“频道模型”-“自定义表单”里面。
因为别人发布的留言需要审核通过才会在前台页面显示,所以你需要去审核,或者你可以修改成不要审核也能显示
只需要打开data\safe\inc_safe_configphp 将$safe_gdopen = '1,2,3,5,6'; 中的6删除即可,这样就去掉了织梦管理后台验证码,也就不必去进行繁琐的设置。
方法一:检查权限
检查 data/session 目录是否有写入权限(权限777),没有写入权限的话会导致 session 保存不成功,会提示验证码错误。(一般为此种情况)
方法二:删除验证码
打开 dede/loginphp 文件
找到:
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ResetVdValue();
ShowMsg('验证码不正确!','loginphp',0,1000);
exit;
}
修改为:
if(false){}打开 dede/templets/loginhtm 文件,删除以下代码:
<phpif(preg_match("/6/",$safe_gdopen))
{
>
<dt>验证码:</dt>
<dd><input id="vdcode" type="text" name="validate" style="text-transform:uppercase;"/><img id="vdimgck" align="absmiddle" onClick="thissrc=thissrc+''" style="cursor: pointer;" alt="看不清?点击更换" src="/include/vdimgckphp"/>
<a href="#" onClick="changeAuthCode();">看不清? </a></dd>
<php
}
>
0条评论