codeigniter
Använda sessioner
Sök…
Anmärkningar
Klassen Codeigniter Sessions använder webbläsarkakor för att spara data som kvarstår över flera sidbelastningar.
Referens: https://codeigniter.com/user_guide/libraries/sessions.html
Skapa en session
För att initiera en session kan du helt enkelt ladda den i din styrenhet, detta placeras vi vanligtvis inuti kontrollenhetskonstruktionerna, men det kan också laddas in automatiskt i matrisen som finns i applikationen / config / autoload.php:
$this->load->library('session');
Hantera sessiondata
En session är helt enkelt en matris som består av följande användarinformation:
- Användarens unika session-ID (detta är en statistiskt slumpmässig sträng med mycket stark entropi, hashad med MD5 för portabilitet och regenererad (som standard) var femte minut)
- Användarens IP-adress
- Användarens User Agent-data (de första 120 tecknen i webbläsarens datasträng)
- Tidsstämpeln "sista aktivitet".
Källa ( vad-är-session-data )
För att hämta sessiondata
som SessionID:
$this->session->userdata('session_id');
Obs - för Codeigniter 3.x kan du använda syntaxen ovan, men konceptet eller magiska getters har införts, där du kan använda $this->session->session_id
.
Kom ihåg att userdata()
returnerar NULL om sessionen inte finns.
För att hämta all sessioninformation
$this->session->all_userdata()
För att ställa in sessiondata
set_userdata()
låter dig ställa in data i din session. Följande exempel visar ett exempel på array du vill infoga:
$newdata = array(
'username' => 'johndoe',
'email' => '[email protected]',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
Du kan också ställa in en data åt gången, till exempel:
$this->session->set_userdata('some_name', 'some_value');
eller
$some_name = 'some_value';
$this->session->set_userdata($some_name);
Ta bort data om session och session
$this->session->unset_userdata('some_name')
Den här metoden accepterar också en rad objektknappar för att avbryta:
För Codeiginter 3.x:
$array_items = array('username', 'email');
$this->session->unset_userdata($array_items);
För Codeiginter 2.x (denna gamla syntax stöder inte 3.x):
$array_items = array('key' => 'value');
$this->session->unset_userdata($array_items);