網(wǎng)(LieHuo.Net)教程 dedecms5.3ask問答系統(tǒng)實(shí)現(xiàn)匿名提問和匿名回答問題的方法。
先說一下實(shí)現(xiàn)后的效果,首先這個(gè)修改后是一個(gè)精簡(jiǎn)版的dedecms問答系統(tǒng),會(huì)取消采納答案等功能,因取消會(huì)員功能后不再有答案的等級(jí)之分,如對(duì)答案的平分功能等將被取消。
最后不建議使用匿名提問功能,建議使用會(huì)員功能來實(shí)現(xiàn)問答。這里是給大家提供一個(gè)學(xué)習(xí)的思路!
下面說一下方法:
post.php文件:
以下為引用的內(nèi)容: if(empty($uid) && $action != 'rate') { showmsgs('no_login','../member/login.php?gourl=../ask/'); exit; } |
1,修改成 或注釋掉
以下為引用的內(nèi)容: if(empty($uid) && $action != 'rate') { if($action!='ask' & $action!='') { showmsgs('no_login','../member/login.php?gourl=../ask/'); exit; } } |
2,注釋掉
以下為引用的內(nèi)容: /*if($question['uid'] == $uid) { showmsgs('asker_cannot_answer', '-1'); }else*/ |
3,然后
以下為引用的內(nèi)容: if($answer['uid'] != $uid) { showmsgs('unallowed_action', $backurl); }else |
替換成
以下為引用的內(nèi)容: if($question['uid'] == $uid) { showmsgs('asker_cannot_answer', '-1'); }else |
這樣就不能修改答案了,不過這個(gè)提示是不會(huì)回答自己的問題。或者直接注釋掉:修改答案部分的php代碼。
以下為引用的內(nèi)容: else if($action == 'modifyanswer') { $answer = $dsql->getone("SELECT answer.id, answer.uid, ask.dateline, ask.solvetime, ask.status, ask.expiredtime FROM `dede_askanswer` answer left join dede_ask ask on ask.id=answer.askid WHERE answer.id='$id'"); if($answer) { if($answer['uid'] != $uid) { showmsgs('unallowed_action', $backurl); }elseif($answer['status'] != 0) { showmsgs('question_solved', $backurl); }elseif($answer['expiredtime'] < $timestamp) { showmsgs('question_expired', $backurl); } } else { showmsgs('question_nonexistence'); } if(trim($content) == '') { showmsgs('post_answer_isnull'); } if(strlen($content) > 10000) { showmsgs('post_answer_toolong'); } if(strlen($brief) > 200) { showmsgs('post_brief_toolong', '-1'); } if($dsql->ExecuteNoneQuery("update dede_askanswer set content='$content', brief='$brief' where id='$id'")) { showmsgs('modifyanswer_success',$backurl); }else { showmsgs('modifyanswer_failed',$backurl); } } |
question.php 注釋以下代碼
以下為引用的內(nèi)容: if($question['uid'] == $uid) { $publisher = 1; } |