Autor Zpráva
xlifer
Profil
Nevím zda mám něco špatně v konfiguraci PHP nebo Apache, ale vždy při prvním načtení webu na localhostu kde testuji se mi při použití session vytvoří do adresy parametr ?PHPSESID= při dalším načtení webu se již parametr neobjevuje a předává se správně v cookies jak potřebuji a je žádoucí.

Můžete mi prosím poradit, kde dělmám chybu nebo proč toto vzniká?

Startování session provádím hned na začátku webu v index.php úplně jako první řádek.
Potřebuji do session ukládat informace už při prvním načtení webu, takže nestartuji session např. až při přihlášení uživatele, apod.
Jan Tvrdík
Profil
Doplň si na konec php.ini session.use-only-cookies
session.use_only_cookies = 1
xlifer
Profil
Ano, tímto byl popisovaný problém vyřešen. Díky moc.
xlifer
Profil
Nevím proč, ale myslel jsem, že se to vyřešilo, ale dívám se, že to pořád při prvním načtení webu dosazuje ?PHPSESID. Doporučenou direktivu use only cookies jsem přidal. Používám verzi php 4.4.9, tak jestli to s tím ještě nejak souvisí... ?
Jan Tvrdík
Profil
xlifer:
Zkus ještě nastavit session.use_trans_sid = 0 a url_rewriter.tags = "". Ujisti se také, že edituješ správné php.ini (bývá jich tam několik). Viz také http://www.phpguru.cz/clanky/sid-do-url-nepatri.

Používám verzi php 4.4.9
Máš nějaký důvod používat několik let starou, oficiálně nepodporovanou a nedoporučovanou verzi?
xlifer
Profil
Jan Tvrdík:

Super, tohle zabralo na 1*

Článek o session na phpguru, taky výrobný a hodně mi pomohl.

Verzi php používám pouze lokálně a verze mě dostačuje na moje testování a pokusy, nevím jak moc mě to může lokálně orhozit nebo co je na ní tak špatného, když mi vše funguje jak má?
xlifer
Profil
Ještě bych se zeptal na doporučení na phpguru - uvádět pro jistotu ještě před spuštění session nastavení ini_set:

ini_set('session.use_trans_sid', FALSE);
ini_set('url_rewriter.tags', '');
session_start();


Nevím zda je správně session vč. výše uvedeného nastavení nechat ve skriptu stále vykonávat na začátku skriptu nebo testovat již spuštění session a tím i už nastaveného ini_set - příklad jak to myslím:

if (!IsSet($_SESSION["spusteno"])):
   ini_set('session.use_trans_sid', FALSE);
   ini_set('url_rewriter.tags', '');
   session_start();
   $_SESSION["spusteno"] = 1;
endif;

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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