Autor | Zpráva | ||
---|---|---|---|
Big_D Profil |
#1 · Zasláno: 11. 7. 2011, 17:58:03 · Upravil/a: Big_D
Zdravím,
mam tuto podmínku: if(!session_is_registered("user") or session_is_registered("admin")) { /* If is ONLY USER */ if(session_is_registered("user")) { echo ' User panel'; } /* If is ADMIN */ if(session_is_registered("admin")) { echo ' Admin panel'; } }else{ echo ' //Přihlašovací formulář'; } A problém mam stím že když se přihlasím jako admin tak se mi vytvoří session admin, a když mam teda session admin a přihlašuju se jako uživatel (user) tak mě to user panel neukáže prostě jenom vytvoří se mi session user ale nepřihlásím. Potřeboval bych aby ta podmínka fungovala jako: Pokud bude nějaká session registrováná EDIT: Ten mě napadlo že při přihlášení bych mohl všechny session vymazat (session_destroy), NEPOMOHLO |
||
Tori Profil |
#2 · Zasláno: 11. 7. 2011, 18:16:39 · Upravil/a: Tori
Můžete rozlišovat třeba $_SESSION['prihlasen'] = true/false (= jakýkoli uživatel/admin je přihlášený, zobrazíme uživatelský panel) a $_SESSION['isAdmin'] = true/false (= přihlášený uživatel má práva administrátora, zobrazíme navíc možnosti pro admina).
Jinak bych používala spíš pole $_SESSION, připadá mi to více blbuvzdorné proti náhodnému přepsání dat session (a mimo to vám tohle od PHP-5.3 bude vyhazovat varování). edit: Můžete ještě ukázat kód z přihlášení, co kde nastavujete do session? |
||
Sevo Profil * |
#3 · Zasláno: 11. 7. 2011, 18:24:18
Ta negacia v prvej podmienke nieje nahodou ten dovod?
|
||
Big_D Profil |
#4 · Zasláno: 11. 7. 2011, 18:30:13
Po vyplnění formuláře se nick a heslo v md5 formátu checkne kolik je záznamů v DB pokud 0 tak to vyhodí JS alert. Pokud ne tak dám session u admina session_register("admin"); a u uživatele session_register("user");. Nic složitýho. Ale asi máte pravdu bude jednoduší když to udělám přes $_SESSION['prihlasen'] = true/false zdá se mi to jednoduší tak děkuju za radu.
|
||
Časová prodleva: 13 let
|
0