Autor | Zpráva | ||
---|---|---|---|
coffeephantom Profil * |
#1 · Zasláno: 30. 10. 2014, 00:04:59
Zdravím,
řeším následující problém: 1, Mám vytvořenou funkci na zabezpečené přihlášení (kód dle tutoriálu) function sec_session_start() { $session_name = 'sec_session_id'; $secure = SECURE; $httponly = true; if (ini_set('session.use_only_cookies', 1) === FALSE) { header("Location: ../error.php?err=Could not initiate a safe session (ini_set)"); exit(); } // Gets current cookies params. $cookieParams = session_get_cookie_params(); session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly); session_name($session_name); session_start(); } kterou na každé stránce nahoře volám: sec_session_start(); Problém nastane, když chci na stránce zobrazit jinou informaci uloženou v sessions, např. $_session["err"] . Nezobrazí ji.
Když sec_session_start(); přepíšu na session_start(); , pak se vypíše, ale zase není funkční přihlášení.
Když ve funkci vymažu session_start(); a dám ho místo toho nahoru na stránku, opět se vypíše, ale nefunguje login.
Neměl by někdo nápad, jak zobrazit uložená sessions a zároveň zůstalo zachováno přihlášení? Děkuji předem! |
||
jefitto44 Profil |
#2 · Zasláno: 30. 10. 2014, 06:48:57
A ako ukladáš iné informácie do toho $session["err"]?
|
||
coffeephantom Profil * |
#3 · Zasláno: 30. 10. 2014, 10:52:26
jefitto44:
Ukládám je v php souborech, které používám pro zpracování formulářů. Např. tedy: <? session_start(); ... nějaký kód .... $session["err"] = 'nějaká chyba'; header přesměrování ?> Chyba (snad) není v zápisu, protože když stránku (třeba index.php) začnu session_start(); , chyba se zobrazí, ale nefunguje přihlášení. Funkce sec_session_start() předpokládá session_start(); na konkrétním místě (viz funkce v prvním příspěvku), takže když stránku začnu session_start(); a až pak sec_session_start() , funguje sice vypsání chyby uložené v $session["err"] , ale nefungují sessions určené pro identifikaci přihlášeného uživatele.
Snad jsem se do toho moc nezamotal... |
||
Tori Profil |
#4 · Zasláno: 30. 10. 2014, 11:08:56
Proměnná se jmenuje
$_SESSION , velkými písmeny s podtržítkem. Jakýkoli jiný zápis = jiná proměnná.
|
||
bestik_63 Profil |
#5 · Zasláno: 30. 10. 2014, 14:26:21
voláš tu funkci, kde je session_start() hned na začátku kódu? Tato funkce musí být totiž zapnuta ještě před načtením hlavičky.
|
||
Časová prodleva: 9 let
|
0