2012-01-20 33 views
18

Kullanıcı yetkilendirildiğinde kullanıcıyı ana sayfama yönlendirmeye çalışıyorum. Halacodeigniter farklı denetleyiciye yeniden yönlendirme

http://myprojectname/login_check

göstermek ama göstermek istiyorum benim login_check denetleyicisi kullanıcı kontrolünü yapıyor ve sayfa yükleme ama ana sayfasında sitesi adresi olabilir $this->load->view('main'); eklemek am

http://myprojectname/main.

Yeni bir 'ana' denetleyici oluşturmak ve görünümü yüklemek zorunda mıyım? Bana gereksiz geliyor. İşte benim kodum. kullanıcı kimlik doğrulaması ise tüm benim login_check.php

private function _user_check() 
{ 
    $this->load->model('user_query'); //load my model 
    $result=$this->user_query->query($this->input->post('username'),$this->input->post('password'))    

    if($result) //the user is in DB 
    { 
     $data['view']='main'; 
     $this->load->view('include/template', $data); 
     //the address bar shows http://myproject/login_check in main page  

    }else{ //the user is not in DB 

     $data['view']='login'; 
     $this->load->view('include/template', $data); 
    } 

} 

cevap

53

İlk

kısım için kontrol etmekte çok kötü bir iş yapıyoruz (sadece geçen kullanıcı adı/modele geçmek iyi değil,/çeki işleme gerektiğini modele göndermeden önce). Sen yapabilir

yardımcı 'URL'yi dahil ederek kolayca yönlendirir ve sadece kullanım:

redirect('/controller/method'); 

veya gerçek örnekler içinde

:

redirect('/main'); 

Reference Link

+1

üzerinde yöntemleri çağırmak için başka bir kontrol içinde kalan istemcisini kullanabilir miyim? Öyleyse, zaten kodun diğer bölümlerinde yaptım. Mysql_real_escape_string yapmam gerekiyor mu? Ben Codeigniter'in bunu zaten $ this-> input-> post kullanıyorum diye uyguladığını düşündüm. Thans. – FlyingCat

+1

Hayır, o zaman, CI, ** Active Queries ** kullanıyorsanız, herşeyi hallediyor, ancak SQL sorgusunu kendiniz yazıyorsanız, bunu kullanmak için '$ this-> db-> escape()' komutunu kullanmalısınız. sadece 'kullanıcı adı' veya 'şifre' deyin (fazladan hazırlıklı olmak için asla acıma) – Jakub

+0

ok. Yardım için teşekkürler. : D – FlyingCat

0

başka yolu yoktur ancak denetleyiciniz Geri Sayım denetleyicisi ise yeniden yönlendirme() işlevine benzer siz, ortalama form_validation model göndermeden önce "süreç/check" derkenrestserver

Sunucu kontrolörü

restclient

İlgili konular