IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Předávání dat mezi skripty - Český PHP manuál

Metoda GET

Data předávaná přes adresní řádek. Třeba http://www.stranka.cz/index.php?…. Tím jsme skriptu index.php předali proměnnou "clanek" s hodnotou 10 a proměnnou "jazyk" s hodnotou "cesky".

Kromě přímého napsání adresy nebo kliknutí na odkaz se dají data pro GET vygenerovat i formulářem.

Výhody GETu:
  • Jednoduchost - stačí obyčejný odkaz.
  • Adresa se dá z adresního řádku zkopírovat a následně uložit, poznamenat, přidat do záložek nebo někomu poslat.
Nevýhody:
  • Data je potřeba zapsat v takovém formátu, jaký se dá v adrese použít, tj. všechny nepovolené znaky nahradit procentem a jejich ASCII kódem v hexadecimálním tvaru (např. mezera je %20).
  • Délka dat je omezená. Nevím kolik to přesně je, ale megabajt takhle asi nepošlete.
  • Data jsou součástí adresy, takže se nedají nijak skrýt a navíc si je prohlížeče cachují. Takže je nemůžeme použít pro posílání hesel a podobných citlivých údajů.
Použití:
  • Kódy stránek a článků, souřadnice na mapách a podobné věci.

Metoda POST

Data z formulářů posílaná z prohlížeče na server samostatným kanálem, nezávisle na adrese. Čtou se obdobným způsobem jako při metodě Get, ale používají pole $_POST. Posílat se dají pouze z formulářů, podrobně si to vysvětlíme za chvíli.

Výhody:
  • Data jsou skrytá, prohlížeče je necachují a za určitých okolností se dají i šifrovat - vhodné i pro hesla.
  • Bez omezení typu dat - poslat jde cokoli od jednoduchých slov přes víceřádkové texty až po celé soubory.
Nevýhody:
  • Na stránku vygenerovanou POSTem se nedá nijak odkázat, je potřeba vždycky znovu vyplnit formulář.
  • Refresh se chová na různých prohlížečích různě: některé nabídnou znovuodeslání dat, některé stránku načtou jen tak bez ničeho.
Použití:
  • Přihlašovací formuláře, návštěvní knihy, fóra, posílání souborů a tak.

Cookies

Data ukládaná do speciálních souborů na počítač uživatele (konkrétní podoba závisí na prohlížeči, uživatel do nich obvykle nevidí). S formuláři nemají nic společného, skripty je vytvářejí pomocí speciálních funkcí.

Výhody:
  • Relativně trvalé úložiště, které přežije i vypnutí prohlížeče.
  • Celé to je na straně návštěvníka, na serveru se nemusí nic ukládat.
  • Celkem jednoznačná identifikace počítačů (pokud vím, přenášet nejdou).
Nevýhody:
  • Dají se zakázat, takže se na ně nedá spolehnout.
  • Dají se kdykoli smazat, takže se na ně nedá spolehnout.
  • S trochou šikovnosti se dají ručně otevřít, takže bych je radši nepoužíval na hesla a jiné citlivé věci.
Použití:
  • Uživatelské nastavení stránek, trvalé přihlašování, datum poslední návštěvy apod..

Sessions

Data krátkodobě uložená někde na serveru, po zavření prohlížeče obvykle zmizí. Opět nejsou vázána na formuláře. Použití si předvedeme až jindy, zatím je nebudeme potřebovat.

Výhody:
  • Fungují vždycky, bez ohledu na nastavení prohlížeče.
  • Nedá se do nich koukat.
  • Nezanechávají stopy v počítačích návštěvníků ani na serveru.
Nevýhody:
  • Existují jenom do zavření prohlížeče.
Použití:
  • Přihlašování uživatelů a různé krátkodobé nastavení, které nechceme ukládat na jindy.

Soubory

PHP má na práci se soubory na serveru sadu funkcí podobnou Céčku, ale je to docela komplikované. V praxi asi využijete jenom funkci file(), která načte daný textový soubor do pole.

Výhody:
  • Nevyžadují žádnou infrastrukturu (databázi apod.).
Nevýhody:
  • Možnost kolize, když se víc uživatelů snaží současně zapisovat do stejného souboru - je potřeba nějak vyřešit zamykání, nebo to risknout. Také pozor na přístupová práva k adresářům (chmod).
Použití:
  • Hlavně pro větší množství trvalých dat, která tvoříme offline a ve skriptech je potřebujeme jenom číst: texty článků, různé seznamy a podobně.

Databáze

Asi nejpoužívanější způsob trvalého ukládání dat. Obsluhuje se pomocí speciálního dotazovacího jazyka, nejčastěji SQL (Structured Query Language). Úvod do databází zabere několik dalších dílů tohoto seriálu, tady jenom stručně shrnu základní vlastnosti.

Výhody:
  • Spolehlivé a relativně pohodlné trvalé ukládání dat libovolného typu.
  • Kolize uživatelů nehrozí, současné přístupy ke stejným datům řeší databázový program automaticky a bezpečně.
  • Možnost výběru dat podle různých kritérií, hledání, třídění, kombinování...
Nevýhody:
  • Špatně ošetřené vstupy se dají snadno nabourat a kdokoli dostatečně šikovný se tak může dostat k datům ve vaší databázi. To je ovšem problém programátora, ne databáze. O tom, jak vstupy zabezpečit, si taky povíme.
Použití:
  • Pro trvalé ukládání věcí, které pošlou návštěvníci: texty ve fórech, články atd.

 

Všechny články v sekci
Pole - Český PHP manuál
Článek pro vás napsal Mircosoft
Avatar
Autor je amatérský pascalista, assemblerista a bastlíř. Profesionálně psal nebo píše v HLASM, Rexxu, Cobolu, ST, LAD, FBD, PHP, SQL, JS, Basicu a pár dalších jazycích, které kupodivu stále existují a používají se :-).
Aktivity