2013-01-06 13 views
8

मैं सीआई में मार्ग का उपयोग करने के लिए एक साइनअप फॉर्मकोड आग लगनेवाला वैकल्पिक पैरामीटर

signup बनाने के लिए कोशिश कर रहा हूँ है user/signup

को फिर से कराई लेकिन मेरी साइनअप समारोह एक परमाटर हो सकते हैं: function signup($type = 1)

मैं रूटिंग के माध्यम से यह वैकल्पिक कैसे बना सकता हूं? मैंने $route['signup/?(:num)'] = 'user/signup/$1'; की कोशिश की, लेकिन /signup पर जाने पर मुझे 404 मिल रहा है, केवल /signup/1/ काम करता है।

उत्तर

14

यह शायद दोनों मार्गों घोषित करने के लिए किया जाएगा व्यक्त करने के लिए स्पष्ट रास्ता:

$route['signup'] = "user/signup"; 
$route['signup/(:num)'] = "user/signup/$1"; 
+0

यह ठीक काम करता है, के बारे में सोच नहीं था यह, मैं यह समझने की कोशिश कर रहा था कि इसे वैकल्पिक कैसे बनाया जाए। धन्यवाद! –

+0

संपादन काम नहीं करता प्रतीत होता है, यह पैरामीटर को –

+0

के साथ भेजना प्रतीत नहीं होता है, मुझे लगता है कि मैं आपका पहला समाधान पसंद करता हूं, पढ़ने/याद रखने में आसान हूं। –

12

किसी और कारण पाठ्यक्रम में यह पढ़ के लिए - मेरा मानना ​​है कि इस सवाल का जवाब $route['signup/?(:num)?'] जो संख्या वैकल्पिक रूप में अच्छी तरह बनाता है होना चाहिए। मुझे कुछ और मुद्दों पर समान समस्याएं थीं।

+0

धन्यवाद ** Ukuser32 **, आपका उत्तर मेरे लिए काम करता है .. – Adnan

1

@ Ukuser32 के उत्तर के साथ समस्या यह है कि यह यूआरआई को साइनअप 6 9 स्वीकार करने की अनुमति देता है, जो इस मामले में निर्दोष हो सकता है लेकिन सामान्य मामले में अवांछनीय है। बस पर कब्जा कर लिया साथ में स्लेश डाल: संख्या

$route['signup(/:num)?'] = "user/signup$1" 

और ध्यान दें कि यदि आप एक से अधिक वैकल्पिक क्षेत्रों है, तो आप उन्हें घोंसला करने की आवश्यकता होगी ....

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