PDA

View Full Version : خطاهای مربوط به لاگین



tux-world
دوشنبه 09 دی 1392, 06:13 صبح
در جلسه ششم آموزش ویدویی وقتی که کاربری لاگیین میکنه اگر نام کاربریش وجود نداشته باشه خطای این نام کاربری وجود ندارد رو تولید میکنه. اینجا پسورد چک نمیشه. بعد اگر وجود داشت میاد پسورد رو چک میکنه اگه اشتباه بود پیغام نام کاربری یا رمز عبور اشتباه است تولید میشه یا رمز عبور اشتباه است؟چون اون عبارت این معنی رو میده
منظوراز ERROR NONE یعنی هیچ خطایی تولید نشده و true برگردون؟

MMSHFE
دوشنبه 09 دی 1392, 22:31 عصر
ERROR_NONE و... ثابتهایی هستن که توی کلاس CUserIdentity تعریف شدن و به تنهای معنا ندارن و موقعی معنا پیدا میکنن که خودمون با کمک شرطهای مختلف، اونها رو چک کنیم. برای مثال، توی مدل LoginForm یک متد داریم به اسم login با کد زیر:


public function login()
{
if($this->_identity===null)
{
$this->_identity=new UserIdentity($this->username,$this->password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
return true;
}
else
return false;
}

همونطور که میبینید، این متد داره خطا رو چک میکنه که اگه ERROR_NONE بود، لاگین انجام بشه.