這篇文章主要為大家介紹了dedecms實現游客可以提問、回答及查看的方法,非常實用,需要的朋友可以參考下。
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();
}
}