Formuláře v PHP
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				| m (→Uložení dat do souboru:  Doplněn odkaz na Ošetření vstupních proměnných) | m (Přidána kategorie Category:HTML) | ||
| (Nejsou zobrazeny 2 mezilehlé verze od 1 uživatele.) | |||
| Řádka 1: | Řádka 1: | ||
| − | [[Category:VSE]][[Category:Informatika]][[Category:PHP]][[Category:Programování]] | + | [[Category:VSE]][[Category:Informatika]][[Category:PHP]][[Category:Programování]][[Category:HTML]] | 
| Řádka 41: | Řádka 41: | ||
| * <code>filter_var(...)</code>... [[Ošetření vstupních proměnných| ošetří vstupní text]] tak, aby nemohl obsahovat speciální znaky, které by šly zneužít pro code injection a podobné techniky. | * <code>filter_var(...)</code>... [[Ošetření vstupních proměnných| ošetří vstupní text]] tak, aby nemohl obsahovat speciální znaky, které by šly zneužít pro code injection a podobné techniky. | ||
| * <code>\t</code> a <code>\n</code>... znaky, zastupující tabulátor, resp. konec řádku. | * <code>\t</code> a <code>\n</code>... znaky, zastupující tabulátor, resp. konec řádku. | ||
| − | * <code>header(...)</code>... odešle prohlížeči hlavičku protokolu HTTP s uvedeným názvem. V tomto případě požádá prohlížeč, aby načetl uvedenou stránku (nejspíš zde bude výpis hlášení, že zápis byl úspěšně proveden). | + | * <code>header(...)</code>... odešle prohlížeči [[HTTP přesměrování v PHP|hlavičku protokolu HTTP]] s uvedeným názvem. V tomto případě požádá prohlížeč, aby načetl uvedenou stránku (nejspíš zde bude výpis hlášení, že zápis byl úspěšně proveden). | 
| </div> | </div> | ||
| + | |||
| + | ; Související stránky | ||
| + | * [[HTTP přesměrování v PHP]], [[Ošetření vstupních proměnných]] | ||
Aktuální verze z 30. 1. 2017, 10:35
Vytvoření formuláře
- K vytvoření formuláře používáme jazyk HTML.
- Viz w3schools.com → HTML Forms.
Zpracování dat
Uložení dat do souboru
- Pro uložení dat z formuláře používáme typicky databázi nebo soubor.
-  Pro zápis do souboru použijeme funkci file_put_contents(...).
-  Parametry funkce:
- název souboru... do kterého data uložíme
- text... který se má zapsat
-  přepínače... volitelný parametr. FILE_APPENDzařídí, že pokud soubor už existuje, nepřepíše se, ale data se přiřadí na konec.
 
- Následně provedeme přesměrování stránky tak, aby uživatel opětovným načtením stránky (klávesa F5) nemohl data zapsat vícekrát.
- Před použitím dat z formuláře bychom měli provést ošetření vstupních proměnných.
- Data pro ukládání bychom měli vždy předávat metodou POST, nikoli GET.
- Ukázka skriptu action_store_data.php
<?php
   $novyRadek = filter_var($_POST["jmeno"], FILTER_SANITIZE_FULL_SPECIAL_CHARS)."\t";
   if ($_POST["souhlasi"] == "ano") $novyRadek .= "ano\t";
   else $novyRadek .= "ne\t";
   $novyRadek .= "\n";
   
   file_put_contents($NAZEV_SOUBORU, $novyRadek, FILE_APPEND);
   
   header("Location: /vyreseno.php");
   die();
?>
- Poznámky
-  filter_var(...)... ošetří vstupní text tak, aby nemohl obsahovat speciální znaky, které by šly zneužít pro code injection a podobné techniky.
-  \ta\n... znaky, zastupující tabulátor, resp. konec řádku.
-  header(...)... odešle prohlížeči hlavičku protokolu HTTP s uvedeným názvem. V tomto případě požádá prohlížeč, aby načetl uvedenou stránku (nejspíš zde bude výpis hlášení, že zápis byl úspěšně proveden).
- Související stránky
