Uchome 启用uid与email登陆的简单方法

uchome内置的只有是username登陆一种方式,Email和UID登陆其实也很重要,网上许多教程写的都是通过ucenter的接口来更改登陆方式,其实完全没有必要,仅仅修改/source/do_login.php 就可以达到伪UID/Email登陆的方式。

在文件中找到

if(submitcheck('loginsubmit')) {

在其中添加

    if($_POST[login_type]=='uid'){
$tempt = $_SGLOBAL['db']->query("SELECT * FROM ".tname('space')." WHERE uid=".trim($_POST['username'])."");
$get_username=$_SGLOBAL['db']->fetch_array($tempt);
}elseif($_POST[login_type]=='email'){
$tempt = $_SGLOBAL['db']->query("SELECT * FROM ".tname('space')." AS `space` LEFT JOIN ".tname('spacefield')." AS `spacefield` on `space`.`uid`=`spacefield`.`uid` WHERE `spacefield`.`email` = '".trim($_POST['username'])."'");
$get_username=$_SGLOBAL['db']->fetch_array($tempt);
}else{
$get_username[username]=trim($_POST['username']);
}

再将$get_username[username]直接赋值给下面的$_POST['username']就好了,登陆页面中只要设置一个hidden的表单命名为login_type就可以区分几种登陆方式。
简单做了一下,代码并不简洁,使用的时候可以自己进行优化。

posted @ 2012-04-06 15:25  DownFall  阅读(216)  评论(0)    收藏  举报