/** * 采用post提交 * email : 邮箱 * mobile:手机号 * passwd:密码,8-20位 * confirm_passwd:确认密码 * captcha:验证码 * 验证码生存demo:<img src="/user/Captcha.html"> * return json array('status'=>'10001','msg'=>'注册成功') */ public function execute($request) { if ($request->format == 'json') { $result = $this->check($request->email, $request->mobile, $request->passwd, $request->confirm_passwd, $request->captcha); if (true === $result) { $regtime = $request->REQUEST_TIME; $userid = Sp_Account_UniqueId::getUniqueId(); if (false == $userid) { return array('status' => '-127', 'msg' => '注册失败'); } $data = array('userid' => $userid, 'email' => trim($request->email), 'mobile' => trim($request->mobile), 'pwd' => trim($request->passwd), 'regtime' => $regtime, 'regip' => $request->CLIENT_IP, 'kid' => $regtime + 10); $lastid = Sp_Account_Regist::storeUser($data); if ($lastid) { $obj = $request; $obj->username = $request->mobile; $obj->password = $request->passwd; $obj->CLIENT_IP = $request->CLIENT_IP; Sp_Account_SignIn::signinFromRequest($obj); } return array('status' => '0', 'msg' => '注册成功'); } else { return $result; } } }
/** * 有post 提交 登录 * 采用post提交 * return json array('status'=>'0','msg'=>'登录') */ public function execute($request) { if ($request->format == 'json') { $result = $this->check($request->username, $request->password); if (TRUE === $result) { Loader::nocache(); $ret = Sp_Account_SignIn::signinFromRequest($request); if (is_numeric($ret) && $ret > 0) { return array('status' => '0', 'msg' => '登录成功'); } else { return array('status' => '-123', 'msg' => '您输入的帐号或密码有误'); } } else { return $result; } } else { } }
$patternMobile = Sp_Dictionary::getOtherOption('patternMobile'); $patternPasswd = Sp_Dictionary::getOtherOption('patternPasswd'); $patternUserId = Sp_Dictionary::getOtherOption('patternUserId'); if ((preg_match($patternEmail, $username) || preg_match($patternMobile, $username) || preg_match($patternUserId, $username)) && strlen($passwd) >= 6) { return TRUE; } else { if (false == preg_match($patternEmail, $username)) { return array('code' => '400', 'msg' => '账户名格式不匹配'); } else { if (strlen($passwd) < 6) { return array('code' => '400', 'msg' => '密码长度在6-16位字符之间'); } } } } $jsonParam = array(); $request = Request::current(); $result = check($request->username, $request->password); if (TRUE === $result) { Loader::nocache(); $ret = Sp_Account_SignIn::signinFromRequest($request); if (is_numeric($ret) && $ret > 0) { $jsonParam = array('code' => '200', 'msg' => '登录成功', 'uid' => $ret); } else { $jsonParam = array('code' => '400', 'msg' => '您输入的帐号或密码有误'); } } else { $jsonParam = $result; } header('Content-type: application/json;charset=utf-8'); echo json_encode($jsonParam);