-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, 'click me'); }

public function ret_back(){

// br() をエコーし​​ます。$this->retribe(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) この場合、パラメータqを取得します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 にあることを確認してください。

于 2013-04-03T20:09:11.483 に答える