Lukáš Ďurjan / 11. 08. 2003, 00:00
7. diel Programovania v PHP / Session premenné sú premenné, bez ktorých sa dnes nezaobíde žiadna rozsiahlejšia webová aplikácia. V tejto lekcii, teda témou dnešnej lekcie, sú session premenné. Je to jeden z najpohodlnejších spôsobov vytvárania premenných bez nutnosti využitia riadku form action.
Session premenné sú naozaj vynikajúcou vymoženosťou systému PHP, a preto by sme sa mali ihneď pustiť do práce s týmto typom premenných.
Využiteľnosť session premenných spočíva v tom, že každá iná stránka môže vedieť o ktorú premennú ide, a to pomocou jednoduchého príkazu – session_start(), čo znamená, že nový príkaz, ktorý sa dnes naučíme je práve tento.
Ako vlastne začať skript s použitím session premenných ? Je to úplne jednoduché. Stačí použiť príkaz sesion_start() ako každý iný príkaz v PHP. Aby ďalší súbor vedel o premennej session, musíme najprv premennú zaregistrovať pomocou príkazu session_register().
PHP4 obsahuje mechanizmus, ktorý dokáže určité zareistrované premenné určiť ako session premenné. Tieto premenné, aby boli zaregistrované, sa musia ukladať do pamäte počítača, alebo do nejakého adresára. V prípade, že by Vám toto nestačilo, je možné využiť aj oveľa luxusnejší spôsob, a to zápis do databázy.
Ak sa stretávame so session premennými po prvýkrát (s tým, že konfigurácia PHP nebola menená), musíme urobiť v jeho konfigurácii isté zmeny, konkrétne sa budú týkať definície adresára na pevnom disku počítača. V súbore php.ini si preto vyhľadáme riadok session.save_path, kde si nastavíte adresár, do ktorého sa vaše session premenné budú ukladať, napr. C:/tmp.
Ak sa Vám po vyskúšaní objaví na stránke milión chýb, konfigurácia nie je správna, a preto sa ju pokúste znova prerobiť.
Po chvíľke teórie sa môžeme s radosťou pustiť do práce.
Vytvorte si dva súbory: prvy.php a druhy.php.
Do prvého súboru zapíšeme nasledujúci skript:
<?
session_start(); //spustenie session premenných
session_register(“sprava“); //zaregistrovanie session premennej
$sprava = “zachovaná“; //definícia premennej v session_register („zachovaná“ je text)
?>
Tu si overíme, či je naša session premenná <? echo $sprava ?><br>
Ďalej si zistíme, či je zachovaná aj v druhom súbore - <a href=“druhy.php“>TU</a>
Ten druhý bude tvorený nasledujúcim skriptom:
<?
session_start(); //začiatok session premennej
?>
Takže zisťujeme, že naša premenná je <? Echo $sprava ?>
ROZŠÍRENIE:
Je tiež možné, že niektorý z užívateľov nemusí mať zapnutú funkciu cookies, a v tom prípade mu predchádzajúci príklad fungovať nebude. Tento problém rieši konštanta SID, ktorá obsahuje kompletné nastavenie parametra.
Skript bez použitia cookies teda bude vyzerať takto:
<?
session_start();
session_register(“sprava“);
$sprava = “zachovaná“;
?>
Tu si overíme, či je naša session premenná <? echo $sprava ?><br>
Či je premenná znova zachovaná si overíme <a href=“druhy.php?<? echo SID ?>“>TU
Druhý súbor bude tvorený rovnakým skriptom ako aj v prvom príklade.
MINITEST:
ÚLOHA:
Pokúste sa Vy sami vytvoriť webovú aplikáciu, v ktorej zúžitkujete vlastnosti session premennej.
Copyright © 2002 - 2013 inet.sk, s. r. o. | Všetky práva vyhradené | Neprešlo jazykovou úpravou | ISSN 1336-1899
Využívame kvalitný webhosting za rozumnú cenu od Inet.sk