iReklama  |  PC Svět  |  vyhledávací centrála  |  Diskuzní fórum  |  WWW katalog  |  Guestbook  |  MailForm  |  kontakt: pcsvet@pcsvet.cz - čte si nás 42 čtenářů
 
PC Svět
Hlavní stránka
ASP
Aktuality
Assembler
C,C++
Delphi
Diskuze
Grafika
Hacking
Hardware
Hry a zábava
HTML
Internet
JavaScript
Komunikace
Literatura
Linux
Microsoft Office
Turbo Pascal
Perl
PHP
Software
Tiskové zprávy
Visual Basic
Windows
WWW katalog

Knihovna zdr. kódů

Nabídka skriptů aj.

Homepage autora
Služby
Guestbook
  kniha návštěv pro
  každého
MailForm
  zasílání výsledků
  formulářů na e-mail
Programy
DOS Commander
WinMan
Windows Tools
Informace
O PC Světě
Přehled rubrik
Reklama
Výsledky anket
Přehled novinek


ISSN 1213-6042

šéfredaktor
Petr Šťastný
admin@pcsvet.cz

zástupce šéfredaktora
Pavel Rauš
raus@pcsvet.cz

Stránka je optimalizo-
vána pro prohlížeč
Internet Explorer 5.0
při rozlišení 800x600

 © Petr Šťastný 2002
   All rights reserved

PC Svět
ikonka PC Světa



Linux - zdarma a legálně



TOPlist

Vytisknout   Poslat   Komentáře (0)   Přidat komentář

Sessions v PhP a jejich využití

Shrnutí používání sessions v PHP - uložení, používání, změna, vymazání a příklad použití

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:

<?=$logout?>

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.

Autor: Marek Jelen, marek.jelen@mybox.cz, informace a seznam článků


Komentáře k článku

Žádné komentáře k tomuto článku

Přidat komentář


Poslední články ze stejné rubriky
Jak na náhodné zobrazování vtipů pomocí PHP a SQL (2.)
Jak na náhodné zobrazování vtipů pomocí PHP a SQL (1.)
PHP: Upload souborů na server
Diskuse v PHP bez použití databáze (3.)
PHP: Odeslání formuláře e-mailem s přílohou

Diskuze - PHP - celkem 607 příspěvků (zobrazeno max. 15) - zobrazit celou diskuzi
Podkategorie
Databáze [71]
Název Autor Datum
Doba platnosti honza 05.05.2002
• To nebude otázka PHP Radim 06.05.2002
Kolkokrat bol uz stiahnuty program Filip K. 05.05.2002
• Re: Kolkokrat bol uz stiahnuty program Petr Šťastný 05.05.2002
cookies ondra 01.05.2002
• Re: cookies Bonde 01.05.2002
• cookies ondra 01.05.2002
• hmmm Funboy 04.05.2002
format retezce andrea 27.04.2002
• re: Retezec Bonde 28.04.2002
• přesně tak Funboy 04.05.2002
include cikcak 26.04.2002
• RE: Tomik 02.05.2002
zjisteni delky retezce mario 22.04.2002
• Re: Martin Surovčák 23.04.2002
Provozovatel:
PES.cz
Poslední články
Microstar MSI - K7N420
Zajímavé tipy a triky pro Windows (6.)
Linux ano či ne (1.)
Buttonmania - tlačítka snadno a rychle
Učebnice Pascalu - základy v Pascalu (1.)
Hodnocení článku
nejlepší <----> nejhorší
    
Stav: 2,29
Počet: 7
Informace o článku
Datum 31.12.2001
Čtenářů 1058
Autor Marek Jelen
Rubrika PHP - příklady
Nový redaktor
  Chcete psát články
  pro PC Svět či se
  stát redaktorem?

Články honorovány!

  Informace zde
EInfo
  Chcete být informováni
  o každém novém článku
  na PC Světě?

Zadejte svůj e-mail:

MSN.ATLAS.CZ
Hladat.sk

hlavní stránka  |  vyhledávací centrála  |  Diskuze  |  WWW katalog  |  Guestbook  |  MailForm  |  kontakt: pcsvet@pcsvet.cz

Se svými dotazy či problémy se obracejte na diskuzní fórum, věci týkající se PC Světa směřujte na e-mail pcsvet@pcsvet.cz

Šíření obsahu tohoto serveru nebo jeho části je bez souhlasu redakce zakázáno.
(c) PC Svět 2002 - Všechna práva vyhrazena.