codeigniter session problem

Tags:    php

Hej, jeg er igang med at gøre så når man logger ind så bliver der sat en session med noget information, men kan slet ikke få den til at sætte min session.

jeg har gjort så den autoloader session i min autoload.php fil

her er min kode

og $tjek_login er true
Fold kodeboks ind/udPHP kode 


den udskriver det her
Fold kodeboks ind/udKode 





To ting:

Du sætter $test="" (tom) og derefter tjekker du på den - hvad får du ud af det?

Men dit problem er selvfølgelig at du siger $test = $this->session->userdata($session_data);

Det skal det ikke. Det er korrekt at _sætte_ userdata på den måde(som du også gør), men du kan ikke _hente_ userdata på den måde.

Du skal sige $test = $this->session->userdata('username'); for eksempel, for at få brugernavnet ud.



den med $test = ""; var fordi jeg havde udkommenteret den anden variabel, og så brokkede den sig jo ved if sætningen, havde bare glemt at slette den.

men min var_dump($test) burde den ikke udskrive alt hvad min session indeholder?



den med $test = ""; var fordi jeg havde udkommenteret den anden variabel, og så brokkede den sig jo ved if sætningen, havde bare glemt at slette den.

men min var_dump($test) burde den ikke udskrive alt hvad min session indeholder?


Nej, det burde den ikke, fordi dit funktionskald der skaber $test ikke er korrekt. Du prøver at kalde session->userdata() med et input-array som argument, det må du ikke. Du skal bruge den specifikke key på det data du vil have fat i, så hvis du vil have i dit username, skal du kalde session->userdata('username'), og så fremdeles.

Genlæs denne side igen, specielt stykket om "Retrieving session data" http://codeigniter.com/user_guide/libraries/sessions.html



men hvad nu hvis jeg skal debugge og se hvad for nogen sessions værdi'er man nu har når man er logget ind, hvordan kan jeg få udskrevet alle sammen ?

ligesom man kan skrive

print_r($_SESSION);



men hvad nu hvis jeg skal debugge og se hvad for nogen sessions værdi'er man nu har når man er logget ind, hvordan kan jeg få udskrevet alle sammen ?

ligesom man kan skrive

print_r($_SESSION);

Det er til gengæld et godt spørgsmål, og det fremgår ikke af dokumentationen - men alle sessiondata gemmes i et array der hedder $this->session->userdata (uden paranteser, det er variablen og ikke metoden af samme navn vi er interesserede i her :)), så det kan du lave var_dump/print_r på som du plejer.

Fold kodeboks ind/udKode 




ahh tusind tak :), hvis nu jeg har et design lidt ligesom udvikleren med sån en sidebar login, hvis kan jeg så smartest lave så hvis man er logget ind så kommer der nogen links til bruger siderne og hvis ikke så kommer login siderne, er det bare

Fold kodeboks ind/udPHP kode 


eller er der en nemmere og bedre måde?, har slet ikke kunne finde noget på codeigniter forummet eller google



Det er korrekt. $this->session->userdata() returnerer FALSE hvis det du kigger på ikke er sat, så det vil virke efter hensigten som du opridser det.



t