Autor Zpráva
T1000
Profil
Ahoj,
mám klasický herní web (vlevo je menu a vpravo je taky menu, uprostřed je obsah).
Všechno se hýbe kolem indexu (index.php?nadpis=obrázky atd.).
Vpravo mám login, na pohybování na webu slouží session (samozdřejmě, když jsem přihlášený).

Když napíšu do nicku nick a do hesla heslo, tak formulář odešle obsah na index.php?nadpis=Login.
V indexu mám dáno: if ($nadpis=="Login") include "login.php";
Tam je register_session("nick") (a heslo) (tam už nemám session_start, ten je pouze na hlavní stránce, zkoušel jsem ho dát i sem, ale nepomohlo to), a potom $nick = $_POST["nick"] (a heslo).
Potom je tam kontrola s databází.
Vše dosud funguje jak má, ale když dám v menu odhlásit, tak nastane problém (zase je to jako u loginu if ($nadpis ...) include ... a tam je session_destroy(); a aby vypsal, že je to OK).
Najede stránka napíše to OK ale menu zůstane stejné (pořád tam je odhlásit atd.) když dám aktualizovat, tak to vypíše že nemám oprávnění (takže ono už tam vlastně to session zmizne a proto to vypíše) a až potom se to menu hodí zpět (tam je formulář na přihlášení).

Připadá mi to, jako kdyby se session na té stránce ještě zůstalo (samozdřejmě, že to menu je pod tím, co se zruší session).
Nejvíc mě mate, že jsem toto už dělal a normálně to fungovalo.

Poradte mi prosím, nevím si s tím rady
bukaj
Profil
problém asi bude v té podmínce if ($nadpis=="Login"). jelikož asi není povolena v php.ini direktiva, myslím, register_globals (skoro všude to tak bývá), tak se k proměnným zvenčí php musí přistupovat přes jistá asociativní pole. pro metodu get jsou to pole $_GET a $_REQUEST.
T1000
Profil
jestli myslíš toto: $nadpis = $_GET["nadpis"];, tak to tam mám
bukaj
Profil
aha
loyza
Profil
Nevím to jistě, ale podle mě nejprve vypíšeš menu, ještě jako přihlášený a potom teprve uděláš ten session destroy. Tedy při vypisování menu je uživatel ještě přihlášený a odhlášení se provede o chvilku později.
T1000
Profil
Napsal jsem: Připadá mi to, jako kdyby se session na té stránce ještě zůstalo (samozdřejmě, že to menu je pod tím, co se zruší session).

To je nová stránka, na staré to funguje.
Jo když jsem napsal do toho menu (mám naincludované) session_start();, tak to šlo ale hlásilo to: Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /hosting/unrealtournament3.cz/web/www/test/pravemenu.php on line 6
Toto téma je uzamčeno. Odpověď nelze zaslat.