我遇到了关于从url传递参数的问题。我使用的功能有时会给出正确的结果,有时则不会。
这是我的控制器功能:
public function link_gen(){
$text = "i have lost my password please help me";
$encrypted_text = $this->encrypt->encode($text);
$encrypted_url = urlencode($encrypted_text);
echo $encrypted_url. br();
echo br(). $this->retrive(urldecode($encrypted_url));
echo anchor('encryption/ret_back?username='.$encrypted_url, 'click me');
// echo anchor('encryption / ret_back /'.$ encrypted_url,'click me'); }
public function ret_back(){
// echo br()。 $这 - > retrive(urldecode($ STR));
$user = $this->input->get('username');
echo br(). $this->retrive(urldecode($user));
echo $user. br();
echo "hellooooo". br();
}
为了测试我正在加密文本然后使用urlencode()
在URL中编码,然后我使用URL将此字符串传递给另一个函数,然后使用{{1}在URL中的字符串中解码然后解码文本。但是当我运行它时,有时会出现解码后的文本,有时却不会出现。
有人可以告诉我这个的原因和解决方案吗?
我想在'忘记密码'模块中使用它。
答案 0 :(得分:0)
这取决于您如何创建链接以及如何从网址检索数据。
无论如何,这些是获取网址数据的简单示例:
get from $_GET[] (http://site.com/?q=hello+world)
在这种情况下,您可以使用echo $this->input->get('q',true);
get data from uri segments (http://site.com/id/230)
在这种情况下,您可以通过echo $this->uri->segment(2);
然后,如果网址中的数据存在,则系统无法获得该数据,因此请确保在打开网址时数据位于您的网址中。