2012-01-20 9 views
18

पर रीडायरेक्ट करता है मैं उपयोगकर्ता को अधिकृत होने पर उपयोगकर्ता को अपने मुख्य पृष्ठ पर निर्देशित करने का प्रयास कर रहा हूं। मैं अपने login_check नियंत्रक में उपयोगकर्ता की जांच कर रहा हूँ और जोड़ने $this->load->view('main'); पृष्ठ लोड लेकिन मुख्य पेज में साइट का पता किया जा सकता है अभी भीकोडनिर्देशक विभिन्न नियंत्रक

http://myprojectname/login_check

दिखाने लेकिन मैं यह दिखाना चाहते हैं

http://myprojectname/main

क्या मुझे एक नया 'मुख्य' नियंत्रक बनाना है और दृश्य लोड करना है? यह मेरे लिए अनावश्यक लगता है। मेरा कोड यहाँ है। मेरी 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); 
    } 

} 

उत्तर

53

सबसे पहले की

हिस्सा है, आप जाँच की एक बहुत ही गरीब काम कर रहे हैं उपयोगकर्ता प्रमाणीकृत है (बस गुजर उपयोगकर्ता नाम/मॉडल को पारित सबसे अच्छा नहीं है,/चेक संसाधित करना चाहिए मॉडल को भेजने से पहले)।

आप कर सकते हैं सहायक 'यूआरएल' को शामिल करके आसानी से रीडायरेक्ट और बस का उपयोग करें:

redirect('/controller/method'); 

या एक वास्तविक दुनिया उदाहरण में:

redirect('/main'); 

Reference Link

+1

पर तरीकों कॉल करने के लिए एक और नियंत्रक में आराम ग्राहक का उपयोग कर सकते हैं जब आप ने कहा कि मॉडल करने के लिए, अपने मतलब form_validation भेजने से पहले "प्रक्रिया/चेक"? यदि ऐसा है, तो मैंने कोड के अपने दूसरे भाग पर इसे पहले से ही किया है। क्या मुझे mysql_real_escape_string करना है? मैंने सोचा कि कोडिनेटर पहले ही इसे लागू कर रहा है क्योंकि मैं $-- इनपुट-> पोस्ट का उपयोग कर रहा हूं। Thans। – FlyingCat

+1

कोई भी ठीक नहीं है, सीआई सभी का ख्याल रखता है यदि आप ** सक्रिय क्वेरीज़ ** का उपयोग करते हैं, हालांकि यदि आप स्वयं SQL क्वेरी लिखते हैं तो आपको अपने $ से बचने के लिए '$ this-> db-> escape() 'का उपयोग करने की आवश्यकता है मामले में 'उपयोगकर्ता नाम' या 'पासवर्ड' कहें (कभी भी अतिरिक्त तैयार होने के लिए दर्द नहीं होता) – Jakub

+0

ठीक है। सहायता के लिए धन्यवाद। : डी – FlyingCat

0

एक और तरीका नहीं है लेकिन रीडायरेक्ट() के समान, यदि आपका नियंत्रक बाकी नियंत्रक है

restserver

आप सर्वर नियंत्रक

restclient

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^