/ / codeigniterセッションデータ `all_userdata`と` set_userdata` [完了] - codeigniter、session

codeigniterセッションデータ `all_userdata`と` set_userdata` [完了] - codeigniter、セッション

私のアプリには100%動作している以下のcodeigniterコードがありますが、理由がわかりません。

私のコントローラシンタックスの一部

 if($this->input->post()){

$data = array(
"customer" =>$this->input->post("customer"),
"period" =>$this->input->post("period"),
"buom" =>$this->input->post("buom"),
// "creditlimit" =>$this->input->post("buom"),
"creditlimit" => $this->sales_model->get_creditlimit($this->input->post("customer"))
);

$this->session->set_userdata($data);
}

$this->load->view("sales/new_blank_order_lines",$this->session->all_userdata());

間のリンクがわからない set_userdata($data); そして $this->session->all_userdata()

何ですか set_userdataall_userdata

前もって感謝します。

回答:

回答№1の場合は3

ドキュメントが言うように:

all_userdataの場合:

$this->session->all_userdata() すべての利用可能なデータがそのように配列に入れられることを意味します。

Array
(
[session_id] => 4a5a5dca22728fb0a84364eeb405b601
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7;
[last_activity] => 1303142623
)

set_userdataの場合

カスタムセッションデータの追加

セッション配列の便利な点は、あなた自身のデータを追加できるということです。 それに、それはユーザーのクッキーに保存されます。 これをする?これがその一例です。

特定のユーザーがあなたのサイトにログインしたとしましょう。 認証されたら あなたはそれらのユーザー名とEメールアドレスをセッションクッキーに追加することができます、 実行しなくても、そのデータをグローバルに利用できるようにする あなたがそれを必要なときにデータベースクエリ。

セッション配列にデータを追加するには、配列を渡す必要があります この関数にあなたの新しいデータを含める:

$this->session->set_userdata($array);

$ arrayは新しいデータを含む連想配列です。これが例です。

$newdata = array(
"username"  => "johndoe",
"email"     => "johndoe@some-site.com",
"logged_in" => TRUE
);

$this->session->set_userdata($newdata);

続きを読む ここに


回答№2の場合は1

* all_userdata *はすべてのユーザーデータの配列を返します。これは次のようになります。

Array
(
[session_id] => 4a5a5dca22728fb0a84364eeb405b601
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7;
[last_activity] => 1303142623
)

* set_userdata *はカスタムセッションデータを設定します。

これがうまくいく理由は、CodeIgniterが* all_userdata *を通してあなたのセッションを識別できるからです。

これが助けになることを願っています、さらなる質問をすることを躊躇しないでください=)


回答№3の場合は1

上に自分のコメントへの参照を追加する

$data = array();
if($this->input->post()){
$data = array(
"customer" =>$this->input->post("customer"),
"period" =>$this->input->post("period"),
"buom" =>$this->input->post("buom"),
// "creditlimit" =>$this->input->post("buom"),
"creditlimit" => $this->sales_model->get_creditlimit($this->input->post("customer"))
);
}
if(count($data)>0)
{
$this->load->view("sales/new_blank_order_lines",$data);
}
else
{
$this->load->view("sales/new_blank_order_lines");
}