Autor Zpráva
Eirene
Profil
Zdravím.
Potřebovala bych poradit. Dělám web www.marcelcinacesta.wz.cz, který jsem založila na php include obsahu do jedné stránky, která zůstává stále stejná. Adresy potom vypadají nějak takto: marcelcinacesta.wz.cz/index.php?id=clanky. Kvůli sdílení jednotlivých kategorií jsem přešla na způsob includování ne obsahu, ale hlavičky, patičky a věcí kolem (to mám zatím tady: marcelcinacesta.wz.cz/index_new/clanky.php) Jenže na původním webu jsem měla funkční registraci a přihlašování, protože některé stránky vyžadují, aby byly přístupné pouze registrovaným. Tím, že v nové verzi pokaždé načítám celou stránku znovu, tak nevím, jak docílit toho, aby pokud se uživatel jednou přihlásí, tak už přihlášený zůstal, i když půjde do jiné kategorie, tedy načte stránku s jinou adresou.
Děkuji moc, studovala jsem mnoho příkladů, zkoušela všechno možné, ale nevím, kam ty kódy mám poskládat. Asi to bude něco s proměnnou SESSION, ale nevím, co s tím.
Snad někdo pomůže na mém konkrétním kódu. Díky.
Sitole
Profil
Eirene:
Ano, o SESSION opravdu půjde. V principu funguje stejně jako sušenky.

Před vytvořením SESSION musíš aktivovat session_start();, aby ji bylo možné vytvořit.
A poté vytvoříš Session. $_SESSION['prihlaseny_uzivatel'], která bude obsahovat například ID uživatele. Prostě něco, čím ověříš o jakého uživatele se jedná. No a potom jen ověříš zda existuje a jedná se o platného člena. Např.: if($_SESSION['prihlaseny_uzivatel'] == "čočka")
xROAL
Profil
Eirene:
Zmena adries (v rámci domény) alebo spôsobu include-ovania vecí (resp. čo sa kam include-uje) by sama o sebe nemala mať vplyv na správanie session. Celá logika okolo prihlásenia/registrácie ostáva rovnaká.

Tím, že v nové verzi pokaždé načítám celou stránku znovu
To sa, predpokladám, dialo aj v "starej" verzii. PHP nedokáže meniť len časť, ktorá je v include. Vždy sa pri každom načítaní (prejdení na inú podstránku) spracováva kompletne celý script, resp. celá stránka sa načítava znovu.

Máš stále na začiatku stránky session_start(), ako píše Sitole?
Vidíš na stránke nejaké chybové hlášky? (Prípadne ich treba zapnúť.)

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: