【问题标题】:Passing parameters through URL in CodeIgniter在 CodeIgniter 中通过 URL 传递参数
【发布时间】:2013-04-03 20:04:18
【问题描述】:

我在从 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();
}

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

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

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

【问题讨论】:

  • 您应该更好地记录您的问题,您是否调试过正在发生的事情?你如何从 url 中检索数据?

标签: codeigniter url encryption urlencode urldecode


【解决方案1】:

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

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

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

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

  4. 获得 id 值

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

【讨论】:

  • 谢谢你的回复,我真的很感激,请检查我的代码我已经编辑了我的帖子......请保持这个帖子也是如此......
  • @SalmanAsif 你忘记了需要的部分 ** echo br()。 $this->retrive(urldecode($str)); **那个方法是做什么的?也许您的问题是该方法的返回值!?
  • CI 加密库使用 $this->encrypt->decode( var )
猜你喜欢
  • 2014-05-22
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 2020-05-21
相关资源
最近更新 更多