dedecms中有些情況下我們需要給予游客一定的權(quán)限,如提問、回答及查看等,本文就此給出如下解決方法:
1、游客提問:
找到dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼并刪除:
復(fù)制代碼代碼如下:if(empty($this->cfg_ml->m_id))
{
showmsg('您尚未登錄,請(qǐng)先登錄',$globals['cfg_ask_member']);
exit;
}
if($this->cfg_ml->m_spacesta < 0)
{
showmsg('您還沒有通過審核,暫時(shí)不能提問,請(qǐng)耐心等....','-1');
exit;
}
2、游客問答,提示“請(qǐng)勿重復(fù)回復(fù)同一問題”:
同樣找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼:
復(fù)制代碼代碼如下:if($rs)
{
showmsg('請(qǐng)勿重復(fù)回復(fù)同一問題!','-1');
exit;
}
3、問題已過期、提問者自己不能回答自己的問題
同樣找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼
復(fù)制代碼代碼如下:if($question)
{
if($question['uid'] == $this->cfg_ml->m_id)
{
showmsg('提問者自己不能回答自己的問題', '-1');
exit;
}else if($question['expiredtime'] < $globals['cfg_ask_timestamp']){
showmsg('問題已經(jīng)過期','-1');
exit;
}
$data['tid'] = $question['tid'];
$data['tid2'] = $question['tid2'];
$data['userip'] = getip();
}else{
showmsg('回答的問題不存在','-1');
exit;
}
4、“您尚未登錄,請(qǐng)先登錄”
找到找到并刪除dedecms5.7的/ask/control目錄下的myask.php文件復(fù)制代碼代碼如下:if(empty($this->cfg_ml->m_id))
{
showmsg('您尚未登錄,請(qǐng)先登錄',$globals['cfg_ask_member']);
exit;
}
找到找到并刪除dedecms5.7的/ask/control目錄下的search.php文件
復(fù)制代碼代碼如下:if(empty($cfg_ml->m_id))
{
showmsg('您尚未登錄,請(qǐng)先登錄',$globals['cfg_ask_member']);
exit;
}
if($cfg_ml->m_spacesta = 0)
{
showmsg('您還沒有通過審核,暫時(shí)不能提問,請(qǐng)耐心等....','-1');
exit;
}
5、“驗(yàn)證碼錯(cuò)誤!”“驗(yàn)證問題答案錯(cuò)誤”
找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件
復(fù)制代碼代碼如下:if(preg_match(#7#,$globals['safe_gdopen'])){
$svali = getckvdvalue();
if(strtolower($data['vdcode']) != $svali || $svali=='')
{
resetvdvalue();
showmsg('驗(yàn)證碼錯(cuò)誤!', '-1');
exit();
}
}
//檢查驗(yàn)證問題
$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('驗(yàn)證問題答案錯(cuò)誤', '-1');
exit();
}
}