Autor Zpráva
majster_sveta
Profil
Zdravim.

Klasika:
$_SESSION['id']=$login->id;
    $sessionid=session_id($_SESSION['id']);
($sessionid ukladam do databazy)

ak dam potom
header ("Location: ")]http://$_SERVER[HTTP_HOST]");
   exit;

tak index.php mi povie ze session id je sice nastavena (isset) ale prazdna (empty)

ak namiesto redirectu session priamo vypisem, je v nej id user, tak ako to ma byt, asi (domienka) preto ze redirect mam zakomentovany
ak kuknem po (odkomentujem) redirecte do temp zlozky ci sa session ulozila, je tam, vsetko pekne v poriadku, ibaze v index.php po redirecte je tato session prazdna

po vypisani session id:
3f253d211161d969eec3af7f9197c21c  
Warning: Unknown: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (d:\web\tmp) in Unknown on line 0


neviete mi niekto prosim poradit? pretoze session id ja predsa nenastavujem, a taktiez vypisane session id je predsa v poriadku, a taktiez po nakuknuti do tmp zlozky je tam session krasne ulozena (aj do suboru som kukol a vsetko tak ako ma byt)

vobec netusim kde moze byt problem
Joker
Profil
majster_sveta
Máte tam session_start (anebo nastavené session auto start)?
majster_sveta
Profil
ano, session_start(); je na uplnom zaciatku skriptu (cely skript ma 200 riadkov, to som sem nechcel davat)
Joker
Profil
Aha, tak potom bude asi špatně vyrobené to session ID. Viz http://cz.php.net/session_id
If id is specified, it will replace the current session id. session_id() needs to be called before session_start() for that purpose. Depending on the session handler, not all characters are allowed within the session id. For example, the file session handler only allows characters in the range a-z, A-Z and 0-9!
překlad:
Je-li zadán parametr id, nahradí současné ID relace. V tomto případě musí být session_id() volána před session_start(). V závislosti na ovladači relace mohou být v ID relace některé znaky zakázané. Například při zpracování relací přes soubory jsou povoleny jen znaky a-z, A-Z a 0-9!
majster_sveta
Profil
takze zavada nasledovna - a je taka ze budem rad ak sa s mojho prikladu poucia dalsi:

tento riadok: $sessionid=session_id($_SESSION['id']); bol phpckom pochopeny nasledovne:

do $sessionid sa nacitalo aktualne id session
do session_id sa nacital retazec $_SESSION['id'], nie hodnota tejto session, ale priamo "$_SESSION['id']". a preto ihned po zavolani tohoto kodu sa session_id prepisalo niecim co tam nema byt, tym padom vypisovanie session erroru, tym padom sa subor s takymto nazvom nemohol ulozit do temp zlozky, a tym padom boli vsetky session nepristupne. ako sa toto moze stat mi je zahadou, ale experimentom s vyrobenym session id som na to prisiel

dakujem Joker za nasmerovanie

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: