2

codeiginterでredirect()関数を使用して、データの配列または単一の変数文字列データを投稿する方法またはいくつかのトリックはありますか?

4

2 に答える 2

13

このプロセスでコントローラーを使用redirectすると、セッションに保存しない限り、すべての投稿データが破棄されます。

$data = array('firstname'=>'fname','lastname'=>'lastname');
// i store data to flashdata
$this->session->set_flashdata('lolwut',$data);
// after storing i redirect it to the controller
redirect('controller/method')

したがって、リダイレクトされたコントローラーでは、not$this->session->flashdata('lolwut') を使用していることに注意してアクセスでき、次のプロセスで自分自身を破壊します。flashdatauserdataflashdata

ここでもっとフラッシュデータを読むSESSION CLASS

于 2013-03-06T07:27:49.350 に答える
1

そもそも、リダイレクト中にデータを投稿する必要がある理由:

すべてのコードを処理し、成功または失敗後にリダイレクトするポスト関数を使用することができます。

function method()
{
    //do something
    redirect('path/to/method');
}

変数を他のページに渡したい場合は、次の方法でこれを行うことができます。

  1. データをセッションに保存する$this->session->set_data($data);$this->set_flashdata($data);、使用状況に依存します
  2. フォーム送信の代わりにパラメーターとして URL を渡す

何とかあなたを助けたことを願っています

于 2013-03-06T07:38:07.890 に答える