重名用户在登陆是,系统会要求用户重新更该名字,在更改名字后,UC要将这个人增加到UC用户表中,这就调用了UC中的add_user这个函数,函数如下:
function add_user($username, $password, $email, $uid = 0) {
$salt = substr(uniqid(rand()), -6);
$password = md5(md5($password).$salt);
$sqladd = $uid ? 'uid=\''.intval($uid).'\',' : '';
//$appid = $this->base->app[appid];
$this->db->query("INSERT INTO ".UC_DBTABLEPRE."members SET $sqladd username='$username', password='$password', email='$email', regip='".$this->base->onlineip."', regdate='".$this->base->time."', salt='$salt'");
$uid = $this->db->insert_id();
$this->db->query("INSERT INTO ".UC_DBTABLEPRE."memberfields SET uid='$uid'");
return $uid;
}
如果原有应用中的uid已经在UC中存在了,然后执行插入语句,UC数据库应该会报错,那么整个重命名的过程就会失败,意味着这个用户以后也无法重命名。这个问题是不是应该解决一下呢? |