PHP验证码(dedecms)的问题。求大神帮看看
对止问题我自己已经解决了。(我是windows空间)
主要还是空间的题。
我当时遇到这个问题时,找遍了网上的资料,也拭了N遍都没有能解决我的问题。
我先也找过空间客服,可以那个客服也不在行,也可以说他根本就不懂。他说是我程序的问题。
我也尝试了好多次,从官网下载新的dedecms57-utf-8-sp1进行安装,但还是提示验证码错误,取消验证码之后,提示"成功登录,正在转向管理管理主页 "但是还是会返回到登陆页面。
之后我又重新换了一个客服,我把我的情况跟他说了,他从新给我开了一个空间,让我试试行不?我装上马上就行了,还是空间的问题。
所以我我的经历分享给大家,如果你在网上找了N多的次资都试过了,还是没有解决你的问题,那肯定是空间的问题。
不行就换个客服。
楼主你好
首先可能是由于空间(服务器)没有加载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库的问题才导致验证码不显示,楼主找空间商协商即可。
希望可以帮到你。 林羽凡
通常解决方案是取消后台验证码功能:打开data/safe/incsafeconfigphp把代码中的$safe_gdopen = '1,2,3,4,5,6,7';中的6,删除即可。
一般验证码出不来,可能原因是:验证码需要GD库,请检查你的环境是否开启GD库。
或者打开验证码生成文件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()函数没有成功执行导致了验证码不显示,具体原因为字体文件路径不对,解决办法是确认include/data/fonts/里面存在字体文件默认为ggbittf,在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);即可解决
还一种可能是include/data/words/wordstxt文件不存在
解决办法就是拷贝一个进去,且找到代码 'word_type' => (int)$safe_codetype,// 1:数字2:英文3:单词
换成'word_type'=>1(或2)既验证码为数字或英文
如果原来可以显示后来取消验证码后再设置就无法显示,可以通过覆盖data与include目录试试。
验证码是你在后台php文件里面设置关闭了,打开方式参照“http://jingyanbaiducom/article/6fb756eca34d60241858fb94html”-怎么关闭就怎么打开。
看到提交留言了,在“核心”-“频道模型”-“自定义表单”里面。
因为别人发布的留言需要审核通过才会在前台页面显示,所以你需要去审核,或者你可以修改成不要审核也能显示
0条评论