Portál AbcLinuxu, 13. května 2025 18:52

Dotaz: Odeslani stranky

15.4.2011 12:14 Jirka
Odeslani stranky
Přečteno: 210×
Odpovědět | Admin
Ahoj, potreboval bych poradit s tímto zapeklitym problemem. Potreboval bych udelat odhlaseni (zrusit session) a pritom porad zustat na strance na ktere je zrovna uzivatel. Samozrejme nechci pouzit zadne promenne v GET. Jsem zacatecnik tak pokud poradite tak nejak abych tio pochopil, moc děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.4.2011 13:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Odeslani stranky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chcete to udělat na klientovi nebo na serveru? Pokud na serveru, v jakém jazyce? Jak je ta session reprezentována – je to cookie nebo parametr URL?
15.4.2011 14:11 Jirka
Rozbalit Rozbalit vše Re: Odeslani stranky
Jedná se o PHP a je to na serveru. SESSION je zaregistrovana jako
session_start();
$_SESSION['login'] = true;
a pro odhlášení používám
session_start();
unset($_SESSION['login']);
ale nechci to hnát přes url..

Děkuji
15.4.2011 14:18 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Odeslani stranky
Pokud je to na serveru, musíte nějaký HTTP požadavek na server poslat. Buď normálně načíst nějakou stránku, nebo použít JavaScriptový XMLHttpRequest – pak ale bude funkčnost závislá na JavaScriptu v prohlížeči.

Asi by bylo lepší, kdybyste popsal, co chcete, třeba z pohledu uživatele webu. Není mi totiž jasné, co myslíte tím „nechci to hnát přes url“.
15.4.2011 16:38 Sten
Rozbalit Rozbalit vše Re: Odeslani stranky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proč tak samozřejmě nechcete používat proměnné v GET? Je to léty ověřené nejlepší řešení.
Emch avatar 15.4.2011 19:36 Emch | skóre: 4 | blog: Machal
Rozbalit Rozbalit vše Re: Odeslani stranky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravím. Nezkoušel jsem to, ale nejlepší, co mě napadlo je udělat si php skript, s tím kódem pro odhlášení a přidat za něj JS window.history.back();

<?php

// __logout.php

session_start();

unset($_SESSION['login']);

<script type="text/javascript"> window.history.back(); </script>


Jak říkám - nezkoušel jsem to, takže nevím, jestli to funguje správně, nebo jaké jsou (ne)výhody. Snad vám to k něčemu bude ;)
Je to tak jednoduchý, že to zvládne i fotbalista.
Emch avatar 15.4.2011 21:39 Emch | skóre: 4 | blog: Machal
Rozbalit Rozbalit vše Re: Odeslani stranky

Omlouvám se, až když jsem odešel od počítače, tak jsem si uvědomil, že je to blbost. Když se uživatel vrátí v historii, tak se vrátí do "přihlášeného" (ale stejně by při přechodu na další stránku už byl odhlášen)

Ale napadlo mě (možná další blbost :-D ), že by šlo, pokud nechcete využívat URL, uložit do souboru pod jménem id session (pokud se nepletu, tak každá session má své vlastní unikátní id) stránku, na které byl uživatel, když se odhlašoval. A skript, který by ho odhlásil by si z toho souboru tu adresu přečetl a pak zase přes header("location: tam_a_tam") přesměroval na tu stránku zpátky (a samozřejmě by po sobě uklidil ten soubor)-- to by snad mohlo fungovat :-D

Je to tak jednoduchý, že to zvládne i fotbalista.
Emch avatar 15.4.2011 19:38 Emch | skóre: 4 | blog: Machal
Rozbalit Rozbalit vše Re: Odeslani stranky
Odpovědět | | Sbalit | Link | Blokovat | Admin
P. S. stejně mám pocit, že to session se někdy posílá přes URL (aspoň už sem to tak někde viděl), takže se tomu možná nevyhnete
Je to tak jednoduchý, že to zvládne i fotbalista.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.