dedecms实现游客可以提问回答及查看的方法
2016-06-15来源:易贤网

dedecms中有些情况下我们需要给予游客一定的权限,如提问、回答及查看等,本文就此给出如下解决方法:

1、游客提问:

找到dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码并删除:

复制代码代码如下:if(empty($this->cfg_ml->m_id))

{

showmsg('您尚未登录,请先登录',$globals['cfg_ask_member']);

exit;

}

if($this->cfg_ml->m_spacesta < 0)

{

showmsg('您还没有通过审核,暂时不能提问,请耐心等....','-1');

exit;

}

2、游客问答,提示“请勿重复回复同一问题”:

同样找到找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码:

复制代码代码如下:if($rs)

{

showmsg('请勿重复回复同一问题!','-1');

exit;

}

3、问题已过期、提问者自己不能回答自己的问题

同样找到找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码

复制代码代码如下:if($question)

{

if($question['uid'] == $this->cfg_ml->m_id)

{

showmsg('提问者自己不能回答自己的问题', '-1');

exit;

}else if($question['expiredtime'] < $globals['cfg_ask_timestamp']){

showmsg('问题已经过期','-1');

exit;

}

$data['tid'] = $question['tid'];

$data['tid2'] = $question['tid2'];

$data['userip'] = getip();

}else{

showmsg('回答的问题不存在','-1');

exit;

}

4、“您尚未登录,请先登录”

找到找到并删除dedecms5.7的/ask/control目录下的myask.php文件复制代码代码如下:if(empty($this->cfg_ml->m_id))

{

showmsg('您尚未登录,请先登录',$globals['cfg_ask_member']);

exit;

}

找到找到并删除dedecms5.7的/ask/control目录下的search.php文件

复制代码代码如下:if(empty($cfg_ml->m_id))

{

showmsg('您尚未登录,请先登录',$globals['cfg_ask_member']);

exit;

}

if($cfg_ml->m_spacesta = 0)

{

showmsg('您还没有通过审核,暂时不能提问,请耐心等....','-1');

exit;

}

5、“验证码错误!”“验证问题答案错误”

找到找到并删除dedecms5.7的/ask/control目录下的question.php文件

复制代码代码如下:if(preg_match(#7#,$globals['safe_gdopen'])){

$svali = getckvdvalue();

if(strtolower($data['vdcode']) != $svali || $svali=='')

{

resetvdvalue();

showmsg('验证码错误!', '-1');

exit();

}

}

//检查验证问题

$faqkey = isset($data['faqkey']) && is_numeric($data['faqkey']) ? $data['faqkey'] : 0;

if($globals['gdfaq_ask'] == 'y')

{

global $safefaqs;

if($safefaqs[$faqkey]['answer'] != $data['safeanswer'] || $data['safeanswer'] =='')

{

showmsg('验证问题答案错误', '-1');

exit();

}

}

推荐信息