public function Register() { include __ExpressPHP_Path__ . '/class/class.Browser.php'; $this->Parameters = $this->__LoadParameters('users'); if ($this->_POST) { $UserName = strtolower(trim($this->_POST['UserName'])); if (strlen($UserName) < 3 || strlen($UserName) > 20) { JsMessage('非法登陆名,登陆名必须是4~20个字符组成!'); } $Password = $this->_POST['Password'] == $this->_POST['CfmPassword'] && strlen($this->_POST['Password']) >= 6 ? $this->_POST['Password'] : false; if (!$Password || preg_match("/^([0-9]+)\$/", $Password)) { JsMessage('非法密码, 密码不接受空格,且长度不得少于6个字符! 并不接受纯数字的密码!'); } $Email = trim($_POST['Email']); if (!$Email || !_IsEmail($Email)) { JsMessage('非法邮件, 请填写完整的邮件地址!'); } new Browser($RegIP, $OS, $Software, $Version); unset($OS, $Software, $Version); $Data['NickName'] = trim($this->_POST['NickName']); if (strlen($Data['NickName']) > 32) { JsMessage('非法昵称, 长度不得超过32个字符(约20个汉字或全角字符)!'); } $Data['Sign'] = trim($this->_POST['Sign']); if (strlen($Data['Sign']) > 64) { JsMessage('非法个性签名, 长度不得超过64个字符(约40个汉字或全角字符)!'); } $Data['Gender'] = _intval($this->_POST['Gender'], true) == 1 ? 1 : 2; $Data['StateID'] = _intval($this->_POST['StateID'], true); $Data['CityID'] = _intval($this->_POST['CityID'], true); $Data['TownID'] = _intval($this->_POST['TownID'], true); $Data['Question'] = trim($this->_POST['Question']); $Data['Answer'] = md5($Data['Question'] . $this->_POST['Answer'] . $UserName); $Data['RealName'] = trim($this->_POST['RealName']); if (strlen($Data['RealName']) > 32) { JsMessage('非法联系人, 长度不得超过32个字符(约20个汉字或全角字符)!'); } $Data['Address'] = trim($this->_POST['Address']); if (strlen($Data['Address']) > 120) { JsMessage('非法联系地址, 长度不得超过120个字符(约80个汉字或全角字符)!'); } $Data['Postcode'] = trim($this->_POST['Postcode']); if (strlen($Data['Postcode']) > 32) { JsMessage('非法邮政编码, 长度不得超过32个字符!'); } $Data['MobileTelephone'] = trim($this->_POST['MobileTelephone']); if (strlen($Data['MobileTelephone']) > 32) { JsMessage('非法手机号码, 长度不得超过32个字符!'); } $Data['Telephone'] = trim($this->_POST['Telephone']); if (strlen($Data['Telephone']) > 32) { JsMessage('非法电话号码, 长度不得超过32个字符!'); } $Data['Fax'] = trim($this->_POST['Fax']); if (strlen($Data['Fax']) > 32) { JsMessage('非法传真号码, 长度不得超过32个字符!'); } $Data['IM'] = json_encode($this->_POST['IM']); $NewUserID = $this->Users->NewUser($UserName, $Password, $Email, 0, $RegIP); if ($NewUserID > 0) { if ($this->Users->UpdateDetail($NewUserID, $Data) <= 0) { $this->Users->Delete($NewUserID); } if ($this->_POST['SuccToLogin']) { $this->Users->Session('UserID', $NewUserID); } JsMessage('恭喜您,您已经成功注册了账户!', '/'); } else { switch ($NewUserID) { case -1: JsMessage('您填写的登陆名已经被其它人注册了! 建议您使用其它登陆名!'); break; case -2: JsMessage('很抱歉, 您填写的邮件地址已经注册过了!'); break; case -3: JsMessage('由于系统设置原因, 暂时不能完成您的注册!'); break; case -4: JsMessage('很抱歉, 系统暂时不接受账户注册!'); break; case -5: JsMessage('很抱歉, 系统不接受您的注册申请!'); break; default: JsMessage('注册失败, 请检查您的注册信息!'); } } } }
echo JsonMessage('error', '非法登陆名,请重新填写您的登陆名!', null); exit; } if ($Users->CheckUserName($UserName)) { echo JsonMessage('error', htmlencode($UserName) . '已经被其它人使用!', null); exit; } else { unset($Users); echo JsonMessage('succ', '恭喜您, ' . htmlencode($UserName) . '可以注册!', null); exit; } } if ($_GET['Action'] == 'CheckEmail') { $Email = trim($_GET['Email']); if (!class_exists('UsersModule')) { include './modules/class.UsersModule.php'; } $Users = new UsersModule(); if (!$Email || !_IsEmail($Email)) { echo JsonMessage('error', '非法邮箱, 请重新填写您的邮箱地址!', null); exit; } if ($Users->CheckEmail($Email)) { echo JsonMessage('error', htmlencode($Email) . ' 已经被其它人使用!', null); exit; } else { unset($Users); echo JsonMessage('succ', htmlencode($Email) . ' 可以注册!', null); exit; } }