• 中文
    • English
  • 注册
    • 总打赏排行
    • 今日收益排行

    暂没有数据

  • 牛魔王
    牛魔王
    他太懒了,什么都没有写
  • 查看作者
  • DedeCMS问答ask匿名提问回答的实现方法

    dedecms5.3ask问答系统实现匿名提问和匿名回答问题的方法。

      先说一下实现后的效果,首先这个修改后是一个精简版的dedecms问答系统,会取消采纳答案等功能,因取消会员功能后不再有答案的等级之分,如对答案的平分功能等将被取消。

      最后不建议使用匿名提问功能,建议使用会员功能来实现问答。这里是给大家提供一个学习的思路!

      下面说一下方法:

      post.php文件:

    以下为引用的内容:

    if(empty($uid) && $action != 'rate')
    {
    showmsgs('no_login','../member/login.php?gourl=../ask/');
    exit;
    }

      1,修改成 或注释掉

    以下为引用的内容:

    if(empty($uid) && $action != 'rate')
    {
    if($action!='ask' & $action!='')
    {
    showmsgs('no_login','../member/login.php?gourl=../ask/');
    exit;
    }
    }

      2,注释掉

    以下为引用的内容:

    /*if($question['uid'] == $uid)

    {

    showmsgs('asker_cannot_answer', '-1');

    }else*/

      3,然后

    以下为引用的内容:

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

    {

    showmsgs('unallowed_action', $backurl);

    }else

      替换成

    以下为引用的内容:

    if($question['uid'] == $uid)

    {

    showmsgs('asker_cannot_answer', '-1');

    }else

      这样就不能修改答案了,不过这个提示是不会回答自己的问题。或者直接注释掉:修改答案部分的php代码。

    以下为引用的内容:

    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 注释以下代码

    以下为引用的内容:

    if($question['uid'] == $uid)

    {

    $publisher = 1;

    }

  • 0
  • 0
  • 0
  • 53
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 返回顶部
  • 单栏布局 侧栏位置: