Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] 味道经验之一:让用户可以用手机号码、邮件地址登录

[复制链接]
weedao 发表于 2008-8-25 09:19:27 | 显示全部楼层 |阅读模式
本帖最后由 weedao 于 2009-11-5 12:02 编辑

奥运结束了,有点时间可以和大家分享一些经验了。希望对大家有些帮助。

经验一:支持手机号码、邮件地址登录

在source/do_login.php文件中找到:

          if(empty($_POST['username'])) {
                showmessage('users_were_not_empty_please_re_login');
        }
       
在下面加上:
        //邮箱登录
        if(eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$username))
        {
           $email = $username;
           $query1 = $_SGLOBAL['db']->query("SELECT uid FROM uchome_spacefield  WHERE email='$email'");
           $info1 = $_SGLOBAL['db']->fetch_array($query1);
           $uid = $info1['uid'];
           if(empty($uid)) {
                                   $query = $_SGLOBAL['db']->query("SELECT username FROM uc_members WHERE email='$email'");
                $info = $_SGLOBAL['db']->fetch_array($query);
                $username = $info['username'];
                }
           else
                {
                           $query = $_SGLOBAL['db']->query("SELECT username FROM uc_members WHERE uid='$uid'");
                           $info = $_SGLOBAL['db']->fetch_array($query);
                           $username = $info['username'];
                }
           }
       
        //手机登录
        if(eregi("[0-9]",$username))
        {
           $mobile = $username;
           $query1 = $_SGLOBAL['db']->query("SELECT uid FROM uchome_spacefield  WHERE mobile='$mobile'");
           $info1 = $_SGLOBAL['db']->fetch_array($query1);
           $uid = $info1['uid'];
           if(empty($uid)) {
                                   $query = $_SGLOBAL['db']->query("SELECT username FROM uc_members WHERE mobile='$mobile'");
                $info = $_SGLOBAL['db']->fetch_array($query);
                $username = $info['username'];
                }
           else
                {
                           $query = $_SGLOBAL['db']->query("SELECT username FROM uc_members WHERE uid='$uid'");
                           $info = $_SGLOBAL['db']->fetch_array($query);
                           $username = $info['username'];
                }
           }

最后在登录的模板文件 do_login.htm里加上提示九可以了。

让生活有味道
www.weedao.com



[ 本帖最后由 weedao 于 2008-8-25 10:38 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

ppfeel 发表于 2008-8-25 09:30:36 | 显示全部楼层
好东西~! 第一次坐沙发!~感觉不错!
回复

使用道具 举报

 楼主| weedao 发表于 2008-8-25 10:15:18 | 显示全部楼层
谢谢
回复

使用道具 举报

peterhands 发表于 2008-8-25 10:17:22 | 显示全部楼层
很好的东西···支持一下···那还有个问题啊···能默认QQ号码登陆么?
www.ooorz.com.cn
回复

使用道具 举报

luring 发表于 2008-8-25 10:17:27 | 显示全部楼层









.
回复

使用道具 举报

WTO邪门 发表于 2008-8-25 10:26:50 | 显示全部楼层
能把文件提供一下么?
比较登陆模版文件
回复

使用道具 举报

maoqoo 发表于 2008-8-25 10:28:23 | 显示全部楼层
原帖由 peterhands 于 2008-8-25 10:17 发表
很好的东西···支持一下···那还有个问题啊···能默认QQ号码登陆么?
www.ooorz.com.cn

是啊 QQ号码登录的 给修改一个吧
回复

使用道具 举报

WTO邪门 发表于 2008-8-25 10:32:17 | 显示全部楼层
明白了……
直接使用原来登陆框就可以了
回复

使用道具 举报

WTO邪门 发表于 2008-8-25 10:36:56 | 显示全部楼层
同理就可以增加QQ登陆了撒
回复

使用道具 举报

 楼主| weedao 发表于 2008-8-25 10:37:43 | 显示全部楼层
道理一样,但是由于QQ和手机号码都是数字,系统不能自动识别,所以QQ和手机二者最好只用其一,否则就需要再加上一个登录选项了。

请看下文:
//QQ登录
        if(eregi("[0-9]",$username))
        {
           $qq= $username;
           $query1 = $_SGLOBAL['db']->query("SELECT uid FROM uchome_spacefield  WHERE qq='$qq'");
           $info1 = $_SGLOBAL['db']->fetch_array($query1);
           $uid = $info1['uid'];
           if(empty($uid)) {
                                   $query = $_SGLOBAL['db']->query("SELECT username FROM uc_members WHERE qq='$qq'");
                $info = $_SGLOBAL['db']->fetch_array($query);
                $username = $info['username'];
                }
           else
                {
                           $query = $_SGLOBAL['db']->query("SELECT username FROM uc_members WHERE uid='$uid'");
                           $info = $_SGLOBAL['db']->fetch_array($query);
                           $username = $info['username'];
                }
           }

评分

1

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-28 06:27 , Processed in 0.130034 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表