/ / codeigniter session data `all_userdata` und` set_userdata` [geschlossen] - codeigniter, session

Codeigniter-Sitzungsdaten `all_userdata` und` set_userdata` [geschlossen] - Codeigniter, Sitzung

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 № 1

wie 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");
}