Ich habe den folgenden Codeigniter-Code in meiner App, der 100% arbeitet, aber ich weiß nicht warum.
Teil meiner Controller-Syntax
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());
Ich verstehe den Zusammenhang nicht set_userdata($data);
und $this->session->all_userdata()
was ist set_userdata
zu all_userdata
Danke im Voraus.
Antworten:
3 für die Antwort № 1wie in der Dokumentation heißt:
für all_userdata:
$this->session->all_userdata()
bedeutet, dass alle verfügbaren Daten in einem Array abgelegt werden.
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
)
für set_userdata:
Benutzerdefinierte Sitzungsdaten hinzufügen
Ein nützlicher Aspekt des Session-Arrays ist, dass Sie Ihre eigenen Daten hinzufügen können und es wird im Cookie des Benutzers gespeichert. Warum möchten Sie dies tun? um dies zu tun? Hier ist ein Beispiel:
Angenommen, ein bestimmter Benutzer meldet sich bei Ihrer Site an. Einmal authentifiziert, Sie können den Benutzernamen und die E-Mail-Adresse zum Sitzungscookie hinzufügen. Ihnen diese Daten global zur Verfügung stellen, ohne ein Datenbankabfrage, wenn Sie es benötigen.
Um Ihre Daten zum Session-Array hinzuzufügen, müssen Sie ein Array übergeben mit Ihren neuen Daten zu dieser Funktion:
$this->session->set_userdata($array);
Dabei ist $ array ein assoziatives Array, das Ihre neuen Daten enthält. Hier ist ein Beispiel:
$newdata = array(
"username" => "johndoe",
"email" => "johndoe@some-site.com",
"logged_in" => TRUE
);
$this->session->set_userdata($newdata);
Weiterlesen HIER
1 für die Antwort № 2
* all_userdata * gibt ein Array aller Userdaten zurück.
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 * legt benutzerdefinierte Sitzungsdaten fest.
Der Grund dafür ist, dass CodeIgniter Ihre Sitzung über * all_userdata * identifizieren kann.
Ich hoffe, das hilft, zögern Sie nicht, weitere Fragen zu stellen =)
1 für die Antwort № 3
Hinzufügen eines Verweises zu meinem Kommentar oben
$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");
}