-1

我在从 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, '点击我'); }

public function ret_back(){

// 回声 br()。$this->retrive(urldecode($str));

            $user = $this->input->get('username');
    echo br(). $this->retrive(urldecode($user));

    echo $user. br();
    echo "hellooooo". br();
}

为了测试,我加密了一个文本,然后在 URL 中使用 对其进行编码urlencode(),然后我使用 URL 将此字符串传递给另一个函数,然后使用 URL 中的字符串解码urldecode(),然后对文本进行解码。但是当我运行它时,有时会出现解码的文本,有时不会。

谁能告诉我这个的原因和解决方案?

我想在“忘记密码”模块中使用它。

4

1 回答 1

0

这取决于您如何创建链接以及如何从 url 检索数据。

无论如何,这些都是获取 url 数据的简单示例:

  1. get from $_GET[] (http://site.com/?q=hello+world) 在这种情况下,您将获得参数 qecho $this->input->get('q',true);

  2. get data from uri segments (http://site.com/id/230) 在这种情况下,您通过以下方式获得 id 值echo $this->uri->segment(2);

那么,如果 url 中的数据存在,则系统不可能没有得到,所以打开 url 时请确保数据在您的 url 中。

于 2013-04-03T20:09:11.483 回答