DEDE问答(ask)模块游客匿名提问和解答
先说一下实现后的效果,首先这个修改后是一个精简版的dedecms问答系统,会取消采纳答案等功能,因取消会员功能后不再有答案的等级之分,如对答案的平分功能等将被取消。
最后不建议使用匿名提问功能,建议使用会员功能来实现问答。这里是给大家提供一个学习的思路!
下面说一下方法:
post.php文件
1
if(empty($uid) && $action != 'rate')
2
{
3
showmsgs('no_login','../member/login.php?gourl=../ask/');
4
exit;
5
}
1,修改成 或注释掉
1
if(empty($uid) && $action != 'rate')
2
{
3
if($action!='ask' & $action!='')
4
{
5
showmsgs('no_login','../member/login.php?gourl=../ask/');
6
exit;
7
}
8
}
01
2,注释掉
02
/*if($question['uid'] == $uid)
03
{
04
showmsgs('asker_cannot_answer', '-1');
05
}else*/
06
3,然后
07
if($answer['uid'] != $uid)
08
{
09
showmsgs('unallowed_action', $backurl);
10
}else
11
替换成
12
if($question['uid'] == $uid)
13
{
14
showmsgs('asker_cannot_answer', '-1');
15
}else
这样就不能修改答案了,不过这个提示是不会回答自己的问题。
或者直接注释掉:修改答案部分的php代码。
查看源码打印代码仿站帮助
01
else if($action == 'modifyanswer')
02
{
03
$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'");
04
if($answer)
05
{
06
if($answer['uid'] != $uid)
07
{
08
showmsgs('unallowed_action', $backurl);
09
}elseif($answer['status'] != 0)
10
{
11
showmsgs('question_solved', $backurl);
12
}elseif($answer['expiredtime'] < $timestamp)
13
{
14
showmsgs('question_expired', $backurl);
15
}
16
} else
17
{
18
showmsgs('question_nonexistence');
19
}
20
21
if(trim($content) == '')
22
{
23
showmsgs('post_answer_isnull');
24
}
25
if(strlen($content) > 10000)
26
{
27
showmsgs('post_answer_toolong');
28
}
29
if(strlen($brief) > 200)
30
{
31
showmsgs('post_brief_toolong', '-1');
32
}
33
if($dsql->ExecuteNoneQuery("update dede_askanswer set content='$content', brief='$brief' where id='$id'"))
34
{
35
showmsgs('modifyanswer_success',$backurl);
36
}else
37
{
38
showmsgs('modifyanswer_failed',$backurl);
39
}
40
}
41
42
question.php
43
注释
44
if($question['uid'] == $uid)
45
{
46
$publisher = 1;
47
}
相关仿站教程:
仿站咨询扫二维码


仿站教程推荐
- 相关链接:
- 教程说明:
DEDE问答(ask)模块游客匿名提问和解答
。