4个回答
展开全部
V9的验证码在生成后,会把验证码的数字存入Session当中。
V9在默认的情况下,Session是存放在数据库当中的。其在数据库中的表现如下:
您可以在访问后台登陆页后,查看一下数据库中Session这个表,如果表中没有类型的数据code|s:4:"***"; 那说明Session没有成功的写入到数据库中。这会使你的登陆失败。
解决方法:
可以偿试通过修改"/caches/configs/system.php"当中的:
'session_storage' => 'mysql',
将其修改为
'session_storage' => 'files',
再进行偿试。
上面的修改表示,Session存储到硬盘里面,这个将使用PHP默认的存储的方式。
展开全部
只要修改cache/configs/system.php文件中的网站路径变量 ‘web_path’ 即可。
举例说明(本地域名http://localhost)
如果所有的文件都在根目录下(例如apache下的htdocs),此时,默认访问地址应该是http://localhost/,则‘web_path’=>'/',若网
站默认的访问地址不是根目录,则需要将变量‘web_path’的值改为新的目录地址,例如是在根目录下的install子目录里,那么应该
是'web_path'=>'/install/',注意,最后一个'/'不能省略。
如果还是不行,就直接取消验证码
主要更改以下文件
phpcms/modules/admin/index.php-------后台登陆界面主文件{【取消了验证码】}
phpcms/modules/admin/templates/login.tpl.php----------后台登陆界面模板文件
第一步
找到文件phpcms\modules\admin\index.php
注释掉第32行到第35行
$code =
isset($_POST['code']) && trim($_POST['code']) ?trim($_POST['code']) :
showmessage(L('input_code'), HTTP_REFERER);
if ($_SESSION['code'] !=
strtolower($code)) {
showmessage(L('code_error'),
HTTP_REFERER);
}
第二步
找到文件phpcms\modules\admin\templates\login.tpl.php
注释掉第38行
<label><?php
echo L('security_code')?>:</label><inputname="code" type="text"
class="ipt
ipt_reg"onfocus="document.getElementByIdx_x('yzm').style.display='block'"/>
注释掉第39行
<div
id="yzm" class="yzm"><?php echoform::checkcode('code_img')?><br
/><ahref="javascript:document.getElementByIdx_x
('code_img').src='<?php
echoSITE_PROTOCOL.SITE_URL.WEB_PATH;?>api.php?
op=checkcode&m=admin&c=index&a=checkcode&time='+Math.random();void(0);"><?phpecho
L('click_change_validate')?></a></div>
举例说明(本地域名http://localhost)
如果所有的文件都在根目录下(例如apache下的htdocs),此时,默认访问地址应该是http://localhost/,则‘web_path’=>'/',若网
站默认的访问地址不是根目录,则需要将变量‘web_path’的值改为新的目录地址,例如是在根目录下的install子目录里,那么应该
是'web_path'=>'/install/',注意,最后一个'/'不能省略。
如果还是不行,就直接取消验证码
主要更改以下文件
phpcms/modules/admin/index.php-------后台登陆界面主文件{【取消了验证码】}
phpcms/modules/admin/templates/login.tpl.php----------后台登陆界面模板文件
第一步
找到文件phpcms\modules\admin\index.php
注释掉第32行到第35行
$code =
isset($_POST['code']) && trim($_POST['code']) ?trim($_POST['code']) :
showmessage(L('input_code'), HTTP_REFERER);
if ($_SESSION['code'] !=
strtolower($code)) {
showmessage(L('code_error'),
HTTP_REFERER);
}
第二步
找到文件phpcms\modules\admin\templates\login.tpl.php
注释掉第38行
<label><?php
echo L('security_code')?>:</label><inputname="code" type="text"
class="ipt
ipt_reg"onfocus="document.getElementByIdx_x('yzm').style.display='block'"/>
注释掉第39行
<div
id="yzm" class="yzm"><?php echoform::checkcode('code_img')?><br
/><ahref="javascript:document.getElementByIdx_x
('code_img').src='<?php
echoSITE_PROTOCOL.SITE_URL.WEB_PATH;?>api.php?
op=checkcode&m=admin&c=index&a=checkcode&time='+Math.random();void(0);"><?phpecho
L('click_change_validate')?></a></div>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种情况一般是gd插件有问题,但是你这个已经显示出来了,服务端是啥系统?
追问
win7,自己电脑上装的。
追答
你可以上传到服务端试试,应该是环境的问题。或者下载wamp试试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大佬问题解决了吗 我也遇到同样的问题了 解决了希望能得到你的帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询