2013-04-03 5 views
-1

У меня возникла проблема с передачей параметра из url. Функция, которую я использую, иногда дает правильный результат, а иногда нет.Передача параметров через URL-адрес в CodeIgniter

вот мой контроллер функции:

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'); 

// эхо якорь ('шифрования/ret_back /'.$ encrypted_url, 'жми меня'); }

public function ret_back(){ 

// Эхо уш(). $ This-> retrive (urldecode ($ ул));

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

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

Ради тестирования я шифрования текста, то кодировать его в URL с помощью urlencode(), то я передаю эту строку на другую функцию, используя URL, а затем декодировать в строке в URL, используя urldecode() и затем декодировать текст. Но когда я запускаю это, иногда появляется декодированный текст, а иногда нет.

Может ли кто-нибудь сказать мне причину и решение для этого?

Я хочу использовать это в модуле «забытый пароль».

+0

Вы должны лучше документировать свой вопрос, отлаживали ли вы то, что происходит? как вы извлекаете данные из url? – sbaaaang

ответ

0

Это зависит от того, как вы создаете свои ссылки и как вы извлекаете данные из URL-адреса.

Во всяком случае это простые примеры, чтобы получить URL данных:

  1. get from $_GET[] (http://site.com/?q=hello+world) в этом случае вы получите Пары д с echo $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.

+0

thak вы за свой отзыв я действительно ценю, скажите, пожалуйста, мой код, я редактировал свое сообщение ... Пожалуйста, сохраните этот пост, поскольку он тоже ... –

+0

@SalmanAsif вы забыли необходимую часть ** echo br(). $ This-> retrive (urldecode ($ ул)); ** что делает этот метод? возможно, ваша проблема - это возвращаемое значение этого метода !? – sbaaaang

+0

библиотека шифрования CI использует $ this-> encrypt-> decode (var) –