私のアプリには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_userdata
に all_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");
}