2011-08-09 12 views
8

मैं CodeIgniter में एक नियंत्रण के लिए मानकों को पारित करने के लिए कोशिश कर रहा हूँ, लेकिन मैं 404 पृष्ठ नहीं मिला त्रुटि मिल रही है, मैं इसे नहीं मिलता है, मैंने किया क्या गाइड कहते हैं: http://ellislab.com/codeigniter/user_guide/general/controllers.html#passinguriकोडइग्निटर: नियंत्रक को पैरामीटर पास करते समय पृष्ठ नहीं मिला?

जब मैं पैरामीटर को दूर http://mysite/123

<?php 
class Main extends Controller { 

    function index($username) { 

     echo $username; 

    } 

} 
?> 
: सूचकांक समारोह में और बस का उपयोग नियंत्रक सब कुछ ठीक काम करता है, लेकिन मैं इसे करने के लिए एक मूल्य के पारित नहीं कर सकते हैं ...

यहाँ कोड तरह से मैं एक परम भेजने के लिए कोशिश कर रहा हूँ है

कोडिनेटर से इस त्रुटि के बारे में मुझे और जानकारी कैसे मिल सकती है?

धन्यवाद।

उत्तर

4

यूआरएल http://mysite/Main/index/123 होना चाहिए।

कोडइग्निटर यूआरएल http://<url>/<Controller>/<Method>/<params> हैं।

0

चेक बाहर /application/config/routes.php फ़ाइल और इस तरह मुख्य करने के लिए डिफ़ॉल्ट नियंत्रक सेट:

$route['default_controller'] = 'main'; 
0

// के लिए सीआई 2.0.2 //main.php

<?php 
class Main extends CI_Controller { 

    function index($username) { 

     echo $username; 

    } 

} 
?> 

// आवेदन/config/routes.php $ मार्ग [ 'default_controller'] = 'मुख्य';

और फिर URL में यह कोशिश :: http://mysite/index.php/main/index/123

आशा है कि यह काम करता है के लिए आप

+0

मैं उपयोगकर्ता नाम 123 के उपयोगकर्ताओं की प्रोफाइल विस्तार प्रदर्शित करना चाहते हैं ... और मेरे URL http की तरह लग रहे चाहिए: // mysite/123 CodeIgniter में। –

0

जहाँ तक मुझे पता है, डेटा पारित हो जाता है केवल जब वहाँ दो से अधिक uri खंड नहीं है।

इस प्रयास करें,

<?php 
class Main extends Controller { 

    function index() { 
     $username = $this->uri->segment(3); 
     echo $username; 
    } 
} 
?> 

और फिर http://mysite/index.php/main/index/123

+0

मैं उपयोगकर्ता नाम 123 के उपयोगकर्ताओं के प्रोफाइल विवरण प्रदर्शित करना चाहता हूं ... और मेरा यूआरएल कोडिनेटर में माइसाइट/123 जैसा दिखना चाहिए। –

0

पर जाने के अपने नियंत्रण में इस समारोह में जोड़ें। यदि विधि नहीं है तो यह इंडेक्स फ़ंक्शन में तर्क पारित करने में मदद करेगा।

function _remap($method) 
    { 
     $param_offset = 2; 

     // Default to index 
     if (! method_exists($this, $method)) 
     { 
     // We need one more param 
     $param_offset = 1; 
     $method = 'index'; 
     } 

     // Since all we get is $method, load up everything else in the URI 
     $params = array_slice($this->uri->rsegment_array(), $param_offset); 

     // Call the determined method with all params 
     call_user_func_array(array($this, $method), $params); 
    } 
संबंधित मुद्दे