discuz! 6.0 用email地址或用户名和密码登陆论坛

  • 九月 28th, 2007

在我心目中,没有什么论坛能与vbb媲美了,但这不能决定我们论坛就必须要用vbb。与vbb相比,discuz论坛还是很有本地特色的,它们的关系就如google与baidu,各有出色之处。我一直关注vbb,因为它的强大,代码结构紧促,但并不高效。discuz解决了这个问题,代码依然强大,利用缓存大大提升了论坛性能。加之discuz开发团队在国内的专注与论坛本身的流行,国内的应用几乎可以完全用discuz取代vbb了。

这几天调试discuz,遇到一个问题。用email和密码登陆,而不是uid或用户名。在discuz官方搜了半天,也没发现解决方案,只好自己动手。仔细研究发现uid其实是一个多余的东西,完全没必要存在于表现层,只不过后台验证密码全部统一到uid上而已。我敢断定,discuz在不久的将来肯定会取消uid的登陆方式,要么不用,要么换成email登陆。废话少说,开始说标题提出问题的解决办法。

discuz!6现有的是用户名登陆,查看discuz的代码后发现,全部登陆都归结于uid的登陆。这样的话我们同样可以用email来检测数据库,以此作为用户名的补充。这时候可能出现email与用户名重复的可能,仔细查看源代码分析就能清楚,其实这无关紧要。例如用户名如果是email地址:a@b.com,email地址也是用户名所用的email:a@b.com,这样登陆的时候无论是用哪一个(用户名还是email)都是一个地址,登陆正常。如果用户名是email地址:aa@bb.com,而注册填的email为另外一个email如:aaa@bbb.com,这样登陆的时候无论用哪个地址登陆都返回正常。其实说白了,这只是一个视觉感受问题,与后台验证没什么关系;我们可能不愿意带有@或点的用户名,如果实在不爽,干脆去修改过滤代码去掉这两个东西就ok了。

言归正传,修改方法:打开根目录下logging.php,约在107行代码为:
把代码:WHERE m.$field=’$username’ ");
修改为:WHERE m.$field=’$username’ or m.email=’$username’");

修改完即可,不用其他多余操作。当然,登陆界面可以在用户名旁边加个用email也可以登陆的提示。

ok,但愿这个小动作能为你的论坛的用户增加一些新体验。

47 引用 to “discuz! 6.0 用email地址或用户名和密码登陆论坛”

  1. Gravatar Icon ppp 回复说:

    好,学习了,我们的网站已经参照更改了

  2. Gravatar Icon bob 回复说:

    mNYX1N hi great site thanks http://peace.com

  3. Gravatar Icon mengxianglixiang 回复说:

    very好

  4. Gravatar Icon mengxianglixiang 回复说:

    好好好好好好好好你好好好好

  5. Gravatar Icon 网友 回复说:

    我好像来过你的博客了。不过既然来了。给你留点东西吧 (*^__^*) 嘻嘻……

  6. Gravatar Icon Aron 回复说:
  7. Gravatar Icon kamagra 回复说:

    Aloha! kamagra

  8. Gravatar Icon hydrocodone 回复说:

    Aloha! hydrocodone

  9. Gravatar Icon ativan 回复说:

    Aloha! ativan

  10. Gravatar Icon lorcet 回复说:

    Aloha! lorcet

  11. Gravatar Icon ativan without prescription 回复说:
  12. Gravatar Icon stilnox 回复说:

    Aloha! stilnox

  13. Gravatar Icon buy alprazolam 回复说:
  14. Gravatar Icon kamagra sans ordonnance 回复说:
  15. Gravatar Icon buy alprazolam without prescription 回复说:
  16. Gravatar Icon kamagra soft 回复说:

    Aloha! kamagra soft

  17. Gravatar Icon viagra online 回复说:
  18. Gravatar Icon kamagra jelly 回复说:
  19. Gravatar Icon accutane 回复说:

    Aloha! accutane

  20. Gravatar Icon accutane 回复说:

    Aloha! accutane

  21. Gravatar Icon buy propecia 回复说:

    Aloha! buy propecia

  22. Gravatar Icon phentermine no prescription 回复说:
  23. Gravatar Icon clomid online 回复说:
  24. Gravatar Icon valium 回复说:

    Aloha! valium

  25. Gravatar Icon kamagra soft 回复说:

    Aloha! kamagra soft

  26. Gravatar Icon kamagra sans ordonnance 回复说:
  27. Gravatar Icon achat kamagra 回复说:
  28. Gravatar Icon kamagra soft tabs 回复说:
  29. Gravatar Icon kamagra 回复说:

    Aloha! kamagra

  30. Gravatar Icon accutane online 回复说:
  31. Gravatar Icon buy viagra 回复说:

    Aloha! buy viagra

  32. Gravatar Icon cheap cialis 回复说:

    Aloha! cheap cialis

  33. Gravatar Icon fioricet no prescription 回复说:
  34. Gravatar Icon clonazepam no rx 回复说:
  35. Gravatar Icon kamagra oral jelly france 回复说:
  36. Gravatar Icon BreancyMern 回复说:

    acquistare cialis in italia on line dove posso comprare il cialis? viagra ordinare paypal viagra femminile compra on line cialis generico vendita a roma farmacia levitra -acquista -vendita -acquisto chi ha comprato kamagra online cialis 5mg comprare levitra 5 mg vendita online vente viagra en suisse acquistare kamagra farmacie online acquisto forum levitra generico ordinazione levitra in svizzera acquisto on line farmaci generici viagra generico acquista 25mg compra cialis a prezzo scontato miglior posto dove comprare kamagra comprare viagra con paypal compra viagra farmacia+cialis generico

  37. Gravatar Icon kamagra achat 回复说:
  38. Gravatar Icon vicodin no rx 回复说:
  39. Gravatar Icon kamagra en ligne 回复说:
  40. Gravatar Icon hydrocodone online 回复说:
  41. Gravatar Icon kamagra 100mg 回复说:
  42. Gravatar Icon kamagra belgique 回复说:
  43. Gravatar Icon kamagra jelly 回复说:
  44. Gravatar Icon xanax online 回复说:

    Aloha! xanax online

  45. Gravatar Icon kamagra 100mg 回复说:
  46. Gravatar Icon kamagra 回复说:

    Aloha! kamagra

  47. Gravatar Icon kamagra oral gel 回复说:

给我回复