请选择 进入手机版 | 继续访问电脑版

织梦DedeCMS问答ask匿名提问回答的实现方法

[复制链接]
查看1533 | 回复1 | 2019-9-23 08:49 | 显示全部楼层 |阅读模式
织梦DedeCMS问答ask匿名提问回答的实现方法
dedecms5.3ask问答系统实现匿名提问和匿名回答问题的方法。

  先说一下实现后的效果,首先这个修改后是一个精简版的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. }
复制代码


2,注释掉
以下为引用的内容:
  1. /*if($question['uid'] == $uid)
  2. {
  3. showmsgs('asker_cannot_answer', '-1');
  4. }else*/
复制代码
3,然后
以下为引用的内容:

  1. if($answer['uid'] != $uid)
  2. {
  3. showmsgs('unallowed_action', $backurl);
  4. }else
复制代码
替换成
以下为引用的内容:

  1. if($question['uid'] == $uid)
  2. {
  3. showmsgs('asker_cannot_answer', '-1');
  4. }else
复制代码
这样就不能修改答案了,不过这个提示是不会回答自己的问题。或者直接注释掉:修改答案部分的php代码。
以下为引用的内容:

  1. else if($action == 'modifyanswer')

  2. {

  3. $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'");

  4. if($answer)

  5. {

  6. if($answer['uid'] != $uid)

  7. {

  8. showmsgs('unallowed_action', $backurl);

  9. }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. if(trim($content) == '')

  21. {

  22. showmsgs('post_answer_isnull');

  23. }

  24. if(strlen($content) > 10000)

  25. {

  26. showmsgs('post_answer_toolong');

  27. }

  28. if(strlen($brief) > 200)

  29. {

  30. showmsgs('post_brief_toolong', '-1');

  31. }

  32. if($dsql->ExecuteNoneQuery("update dede_askanswer set content='$content', brief='$brief' where id='$id'"))

  33. {

  34. showmsgs('modifyanswer_success',$backurl);

  35. }else

  36. {

  37. showmsgs('modifyanswer_failed',$backurl);

  38. }

  39. }
复制代码
question.php 注释以下代码
以下为引用的内容:

  1. if($question['uid'] == $uid)
  2. {
  3. $publisher = 1;
  4. }
复制代码


乐乐 | 2019-9-23 08:49 | 显示全部楼层
自丢网真心不错,学习教程网。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
226
贡献
0
丢币
0
主题
21
回帖
5
注册时间
2019-7-3
最后登录
2019-11-28