K čemu je využívat
Sessions využijete, když potřebujete udělat uživatelskou sekci,
kam můžou jen registrovaní uživatelé. Do stránek umístíte formulář,
kde se návštěvníka zeptáte na login a heslo. Pokud bude v databázi
taková kombinace loginu a hesla, jako zadal návštěvník, pak uložíte
do sessions tyto údaje a poté je můžete načítat ze sessions na
jiných heslem chráněných stránkách. Nakonec si ukážeme, jak takovou
věcičku udělat.
Jak uložit hodnotu do
sessions
Nejprve si musíte zřídit session, to provedete pomocí
příkazu session_start(). Tuto funkci musíte používat na
začátku programu před jakýmkoliv textovým výstupem do stránky,
protože se automaticky ukládá id session do cookies. A co když
uživatel nemá zapnuté cookies? Tak musíte session id posílat metodou
GET pomocí odkazů. Toto id je uloženo v konstantě SID. Nyní
můžete do session ukládat proměnné. To se dělá pomocí příkazu
session_register("promenna"). Do session se uloží hodnota
proměnné $promenna.
Jak požít session na jiné
stránce
Pokud máte na stránce přístupné id sessionu, tak stačí jen použít
funkci session_register("promenna") a na stránce bude
přístupná jako $promenna.
Změna hodnoty session
Změna hodnoty sessionu už není tak jednoduchá jako uložení a
načtení. První podmínkou je, že na stránce musíte mít přístupné
session id, kde je proměnná uložená. Poté musíte session zpřístupnit
pomocí session_register("promenna"). Dále jí musíte vymazat.
K tomu slouží funkce session_unregister("promenna"). Nyní
změníte hodnotu $promenna a opět její hodnotu uložíte pomocí
funkce session_register("promenna").
Vymazání jedné proměnné
Opět musíte mít přístupné session id a přístupnou proměnou
session_register("promenna"). A poté napíšete
session_unregister("promenna"). A session se smaže.
Smazání všech proměnných
Jako u všech operací s proměnnými uloženými v sessions, musíte
mít přístupné session id. Poté použijete funkci
session_unset() a všechny proměnné budou smazány.
Smazání sessionu
K úplnému zničení session slouží příkaz session_destroy().
Ten ale můžete použít jen když máte smazány všechny proměnné ze
sessionu. A abych nezapoměl, opět musíte mít přístupné session
id.
Jednoduché přihlašování
Nyní když víme jak sessions používat, tak je můžeme uplatnit v
jednoduchém přihlašovacím scriptu.
Celý kód uložíme do souboru, který se bude jmenovat auth.php. Ten
budete moci vkládat do Vašich stránek, které mají být chráněny.
<? if($auth == "login" && $auth !=
"logout"){ session_start();
unset($auth); }; if($auth != "login" && $auth !=
"logout"){ session_register("login");
session_register("heslo"); if($login != "jméno pro
přihlášení" and $heslo != "heslo pro
přihlášení"){ $auth =
"logout"; }; }; if($auth ==
"logout"){ session_register("login");
session_register("heslo");
session_unset();
session_destroy(); ?> <form
method=post> Login: <input
name=login> Heslo: <input type=password
name=heslo> <input type=submit
value=Přihlásit>
</form> <? };
$cesta =
explode("/",$SCRIPT_NAME); $cesta = $cesta[count($cesta) -
1]; $logout = "<a
href=$cesta?auth=logout>Odhlásit</a>"; ?> |
Potom ještě na stránku umístíte takovýto kód:
A tam se objeví odkaz na odhlášení.
Závěr
Doufám že se Vám tento článek hodil a že někde třeba využijete i
toto přihlašování. Mnoho úspěchů v novém roce přeje Marek Vilda
Jelen.