ورود

View Full Version : استفاده از دو متد بجای یک متد در کنترلر



IMANAZADI
جمعه 07 آبان 1395, 11:45 صبح
سلام
یک سوال


فرض کنید یک کنترلر بنام user برای کارهای لاگین ، تغییر پسورد و ... داریم


حالا برای نمایش صفحه لاگین در این کنترلر به چه شیو ه ای عمل میکنید ؟


اینکه یک متد در کنترلر فقط مختص نمایش لاگین در نظر میگیرید
و یک متد دیگر برای submit شدن لاگین ، به صورت زیر :


روش اول




class User extends Controller
{


public function Login()
{
$this->view('user/login',$data);
}




public function submitLogin()
{


$f = new Form_validation();

$f->set_rules('username','user name','required');
$f->set_rules('password','password','required|_md5');
$f->set_rules('captcha','captcha','required|captcha');

if($f->run()===false)
{
session::flashSet('msg','validate_error');
header('location: ' . baseURL . 'user/login');
exit();
}
else
{
// send user pass to model and verification

header('location: ' . baseURL . 'dashbord');
exit();
}
}


}



یا کلا یک متد بصورت زیر در نظر میگیرید


روش دوم




class User extends Controller
{


public function login()
{
if(isset($_POST['submit_login_frm']))
{
$f = new Form_validation();

$f->set_rules('username','user name','required');
$f->set_rules('password','password','required|_md5');
$f->set_rules('captcha','captcha','required|captcha');

if($->run()===false)
{
session::flashSet('msg','validate_error');
}
else
{
// send user pass to model and verification

header('location: ' . baseURL . 'dashbord');
exit();
}
}


$this->view('user/login',$data);

}


}





راه درست تر کدوم هست ؟
کدوم اصولی تر هست ؟

plague
جمعه 07 آبان 1395, 12:53 عصر
فرق خاصی ندارن غیر از اینکه در روش دوم هرچی طرف رفرش کنه صفحه رو اطلاعات دوباره ارسال میشن که
ولی در کل رو هم نویسی توصیه نمیشه