09.01.2009 16:18
Kdo je On-line
· Hosté On-line: 2

· Členové On-line: 0

· Registrovaní členové: 142
· Nejnovější člen: LukePuke
Kdo je/byl ON-LINE
admin00:53:07
Lubkokr03:49:24
mafra06:11:47
Toura07:16:35
Olser. 1 den.
Kvetos. 2 dny.
Zitek. 2 dny.
LukePuke. 4 dny.
Pexa. 4 dny.
fifa. 4 dny.
©
Toplist
TOPlist
TOP
Reklama
Newsletter
Přihlášení
Jméno

Heslo



Nejste členem?
Klikněte sem
a zaregistrujte se.

Zapoměli jste heslo?
Pro zaslání nového
Klikněte sem.
Hyde Park - přehled
Porazí Dakar teroristé?
Rekordní počet 570 startujících na 30. ročníku Dakaru o víkendu vyrazil do všech koutů světa z deštivého Lisabonu. Mezi nimi i pět českých týmů, přihlášených v kategoriích motocyklů, osobních automobilů a kamiónů.
Kategorie: Svět
Reklama
Změň vzhled!
Výběr:
Link - výměna
Počasí v Česku
Anketa
TOP TV moderátoři?





















Aby jste mohli hlasovat, musíte být přihlášený.
BAN čtenářům
Musíte se přihlásit pokud chcete hlasovat.
Hlasování
Hodnoť tento web
PHP: Superglobální pole - práce proměnných
PHPMusím podotknout, že tento seriál není a ani nechce být na způsob "kopiruj & pracuj". Jen postupně se dostává k funkčním kódům, jelikož si klade za cíl pokud možno chronologické popisování a vysvětlování! V zásadě jsme dospěli k tomu, že začátečník by měl od počátku pracovat se superglobálním polem. Jiný přístup není bezpečný! Dnes si pakticky ukážeme, jak automatické superglobální proměnné pracují.

V minulém díle jsem končil větou, že "suberglobální/automatické proměnné používejme. Co všechno umí, se dočtete v dalších dílech tohoto seriálu.". Takže rychle dále... Superglobálních proměnných je celkem devět, bylo rovněž zdůrazněno, že máme pracovat s register_globals na off, což je také v php.ini ( a také v PHP 5) nastaveno. Jesliže provedeme zápis do superglobálního pole $_SESSION, ukládají se veškerá data na pevný disk počítače. Načež v cookie, které má vazbu na uživatele, je pak zaznamenán velmi důležity identifikační klíč "ID" každého uživatele. To tedy znamená, když byl uživatele identifikovan, skript PHP je informován o jakou session jde. Tím pádem si na klientově serveru vymezí prostor, do něhož bude pro každou session ukládat jednotlivé proměnné. A jak takové ukládání vypadá?

Jak vypadá automatický proces se session?

Jak jsem již v minulém díle zdůraznil, každý skript na volání session musí začínat funkcí session_start. Do skriptu pak zařazujeme session proměnné tak, že je umísťujeme do již zmíněného pole $_SESSION.

Ukázka: session_1.php

Nyní tedy demonstrační ukázka ve dvou skriptech. V prvním uvidíte, jak PHP session zjistí (zaregistruje) a ihned odešle do této session proměnnou user_name, která pro ukázku má na ř. č. 4 hodnotu "100".

  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6. <title>Ukázka 58/1</title>
  7. </head>
  8. <?php
  9. //session_1.php
  10. $_SESSION[`user_name`] = 100;
  11. ?>
  12. <div>Právě byla proměnná zaregistrována.<br /> Ověřte si to <a href="session_2.php">ZDE</a>.
  13. </div>
  14. }
  15. </body>
  16. </html>
Ukázka: session_2.php

A tento následující PHP skript nám v souboru "session_2.php" proměnnou na ř. č.4 user_name vypíše.

  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6. <title>Ukázka 58/2</title>
  7. </head>
  8. <body>
  9. <?php
  10. //session_2.php
  11. if (isset($_SESSION[`user_name`])) echo `Session proměnná user_name = `,$_SESSION[`user_name`];
  12. else
  13. echo `Session proměnná a není zaregistrována.`;
  14. ?>
  15. </body>
  16. </html>

Ukázky k předvedení
ZDE

Resumé

Samozřejmě, ani tyhle ukázky nemůžeme nasadit pro ostrou www stránku! Možná také, že vám ukázky nebudou fungovat. Pouze půjdou na domácím intranetu/localhostu. Je třeba vyzkoušet! Nezapomeńte, že direktiva "register_globals" v php.ini je defaultně nyní nastavena na off, takže nelze "tahat" proměnné prostřednictvím "$proměnná"!! Pro studijní účely si tím pádem nastavte register_globals = on. To ale není pro učení záčatečníků nejšťastnější, takže prioritu by mělo dostat přece jen nastavení register_globals = off. V tom případě budeme k proměnným přístupovat ve tvaru $_POST["proměnná"]. O tom blíže v příštím díle seriálu. Někdy před Vánocemi se pak dostaneme také k zabezpečení hashováním a dalším užitečným věcem pro autentizaci/autorizaci uživatele.

Autor: Květoslav Vícha


Komentáře
#1 | grabdos dne 17.10.2008 20:13
No dávaš si záležet s vysvětlením, ale je třeba to dokopat k tomu zabezpečení přes HASH.
A pak učit nováčky, aby měli register_globals OFF. Jinak se nadějí problémů. Tedy ne , jak Kosek doporušuje zapnout na ON. To snad jen pro zkoušení na intranetu! Jiank ani pomyšlení.
#2 | kritikZ dne 17.10.2008 20:30
U těch zdrojových kodu, celkem dobře vylepšených, jste zavedl číslování řádků, ale čísilka nejsou vidět! Ostuda!Grin
#3 | America dne 18.10.2008 08:59
Ty jsi lamka, bavíme se o PHP, co tu include takové maličkosti?
#4 | America dne 18.10.2008 09:05
Tak já to mám funkční na intranetu, na ostrém webu mi ukázka nefunguje úplně. Neotevírá se ten druhý soubor, tedy odkaz.
To potvrzuje co píšeš. Ostrý server ma register_globals OFF.
#5 | brunclik dne 19.10.2008 10:56
Vysvětlování fakt pro blbce!!
Přidat komentář
Aby jste mohli přidávat komentáře, musíte být přihlášený.