यह एक ईमेल सक्रियण लिंक है जो उपयोगकर्ता नियंत्रक में लिखा गया है
http://www.some.com/user/activate_user/user@gmail.com/90101001010
मैं इसके लिए मार्ग लिखना चाहता हूं।
मैंने नीचे की कोशिश की लेकिन इसकी
// USER POST
$route["user"] = "user";
$route["user/activate_user/:any/:num"] = "user/activate_user/$1/$2";
त्रुटि
An Error Was Encountered
The URI you submitted has disallowed characters.
अगर मैं इस तरह से uri चलाता हूँ तो यह ठीक है
http://www.some.com/user/activate_user/activate_user/1111/90101001010
यह ईमेल आईडी स्वीकार क्यों नहीं कर रहा है
उत्तर:
जवाब के लिए 2 № 1होना चाहिए:
$route["user/([w+-]+)(.[w+-]+)*@([a-zA-Zd-]+.)+[a-zA-Z]{2,6}/(:any)"]
संपूर्ण स्ट्रिंग बिना सीमांकक या संशोधक के एक रेग्ज है। आप सीमांकक, संशोधक डाल रहे थे और उपयोग भी कर रहे थे ^
तथा $
.
उत्तर № 2 के लिए 1
कृपया अपनी कॉन्फ़िग फ़ाइल देखें, कि आपको url में कौन से uri chars की अनुमति है। डिफ़ॉल्ट रूप से यह पसंद है:
$config["permitted_uri_chars"] = "a-z 0-9~%.:_-";
यदि आप चाहते हैं तो कृपया लिंक पर जाएँ यूरेलिस्लाब द्वारा यूआरएल गाइडलाइन
उत्तर № 3 के लिए 1
यह काम किया
$config["permitted_uri_chars"] = "a-z 0-9~%.:_@-";
$route["user/activate_user/(:any)/(:any)"] = "user/activate_user/$1/$2"; –
जवाब के लिए 0 № 4
Config.php पर जाएं
खोज $config["permitted_uri_chars"] = "a-z 0-9~%.:_-";
और जोड़ $config["permitted_uri_chars"] = "a-z 0-9~%.:_()@&-!";
और स्टॉप और रिफ्रेश सर्वर
इसे बदलें
$route["user"] = "user";
$route["user/activate_user/:any/:num"] = "user/activate_user/$1/$2";
इस के साथ
$route["user"] = "user";
$route["user/activate_user/(:any)/(:any)"] = "user/activate_user/$1/$2";
जोड़ा गया
जवाब के लिए 0 № 5
यह मेरे लिए काम किया
config.php
$config["permitted_uri_chars"] = "a-z 0-9~%.:_@-";
router.php
$route["user/activate_user/(:any)/(:any)"] = "user/activate_user/$1/$2";