Autor Zpráva
Anonymní
Profil *
Mam dva dotazy ohledne ukladani promennych do session.

session_start() mohu pouzit, pokud nebyly jeste odeslany hlavicky a vystup stranky, popripade je-li tak nastaveny hosting, tak klidne uprostred vykreslovani stranky?

ukladat hodnoty do session, menit je a mazat, je mozne kdykoliv i po odeslani hlavicek a casti vystupu stranek, nebo se to opet odviji od konfigurace serveru a nejcasteji je to zakazno?


dik za odpoved
Ni7R0
Profil
Ad a) Pokud používáte cookies, session_start by mělo být ještě před jakýmkoliv výstupem pokud nepoužíváte nějaké cachování výstupu (např. funkce PHP ob_*).

Ad b) Se sessions proměnnými si můžete ve scriptu dělat co chcete (pokud jste samozřejmě inicializoval session).
Apostolus
Profil
Anonymní

Konfigurace s tím nemá co dělat. Dá se nastavit, aby si nemusel pořád vypisovat session_start(); v php.ini session.auto_start na hodnotu 1, ale pořád musíš (nastavit|zmenit|smazat) session proměnný dříve než výstup a hlavičky.

EDIT: 2 LATE
Anonymní
Profil *
Tak jak to tedy je? Jeden rikate ze promenne mohu kdykoliv a druhy ze ne:((
Apostolus
Profil
omyl
Anonymní
Profil *
No mě to $_SESSION['neco'] = "asdasd"; právě funguje na ignumu i uprostřed stránky, tak mne to trochu zarazilo.
Ni7R0
Profil
Apostolus
Očividně v tom máte zmatek. A jestli s touhle domněnkou píšete všechny své aplikace, upřímně vás lituji :)
Session proměnné můžete editovat kdekoliv ve scriptu, session_id ne, jelikož se jako jediné přenáší přes cookies, tudíž v hlavičkách HTTP. Session proměnné se ukládají na serveru a editovat je můžete opravdu prakticky kdekoliv ve scriptu (jinak by to ani nedávali do dokumentace session_start()). Číst potom můžete uprostřed scriptu logicky i session_id.
Apostolus
Profil
trošku jsem se do toho zamotal:(
Apostolus
Profil
samozřejmě máte pravdu

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:

0