Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Vytváření formuláře PHP. Pokud budeme chtít vytvořit opravdu interaktivní aplikace, neobejdeme se bez formulářů - formulářových prvků. Správa formulářů.

Podobné prezentace


Prezentace na téma: "Vytváření formuláře PHP. Pokud budeme chtít vytvořit opravdu interaktivní aplikace, neobejdeme se bez formulářů - formulářových prvků. Správa formulářů."— Transkript prezentace:

1 Vytváření formuláře PHP

2 Pokud budeme chtít vytvořit opravdu interaktivní aplikace, neobejdeme se bez formulářů - formulářových prvků. Správa formulářů v jazyce PHP je dvoustupňový proces: 1. Nejdříve vytvoříme samostatný formulář HTML. 2. Potom vytvoříme vhodný skript v jazyce PHP, který příjme uživatelem zadaná data. Příkladem může být aplikace, která zaregistruje uživatele nebo jen odešle proměnné skriptu. Formulářové prvky

3 Formulář HTML je tvořen dvěma značkami prvku: a více prvky. V prvku musíme nastavit atribut: ACTION="nazev_skriptu.php" - určuje jméno skriptu, kterému budou data z formuláře předány a METHOD="POST / GET" - určuje, jak budou data z formuláře odeslána. Obě metody jsou funkčně stejné, liší se jen přenosem dat. Metoda GET se používá pro přenášení menších hodnot. Metoda POST se používá pro přenášení větších dat v těle HTTP požadavku (skrytě). Data formuláře

4 Nejčastěji používaným formulářovým elementem je INPUT, používá se tehdy, kdy chceme od uživatele zjistit údaje a odeslat je zpět skriptu. Musíme ještě nastavit atribut TYPE="text" a další atributy : NAME určuje, jak se bude jmenovat proměnná, kterou odešleme. VALUE určuje počáteční hodnotu, která bude v tomto vstupním poli. MAXLENGTH určuje, kolik znaků můžeme do tohoto pole napsat. SIZE určuje velikost tohoto vstupního pole. V praxi to bude vypadat následovně: Vstupní pole

5 Pokud budeme mít více vstupních polí, můžeme je uspořádat : Jméno: Příjmení: V praxi tento příklad bude vypadat následovně: Jméno: Příjmení:

6 Atribut TYPE="SUBMIT" nám stanovuje, že se jedná o odesílací tlačítko. VALUE=" " nám určuje text, který bude na tlačítku umístěn. V praxi bude toto tlačítko vypadat následovně: Odesílání formuláře

7 Příklad - odešle zvolené data z formuláře skriptu: Jméno: Příjmení: Nyní máme vytvořený formulář, který po odeslání předá hodnoty vstupních polí skriptu data.php. Ve skriptu budeme mít proměnné $jmeno, $prijmeni a $ .

8 Vytvoření skriptu data.php, který nám zpracuje data:

9 Pro použití mechanizmu, kdy se uživatel rozhodne, jestli ano nebo ne, je možné použít také tyto "odesílací tlačítka". Praktický příklad: Souhlasíte s pravidly registrace? A skript registrace.php bude vypadat následovně:

10 Toto pole, stejně jako vstupní pole (type="text"), je určeno k zadávání hodnot od uživatele, které nemají být zjištěny "při pohledu přes rameno". Místo hodnoty (písmen) budou zobrazeny tečky. V praxi to bude vypadat následovně: Vstupní heslo

11 Tento formulářový prvek použijeme tehdy, pokud chceme dát uživateli na výběr z několika možností. Například výběr pohlaví, mobilního telefonu atd. U tohoto elementu můžeme nastavit atribut CHECKED, který znamená, že tento prvek (pole) již bude vybrán. Muž Žena Výsledek výběru máme následně v proměnné $pohlavi: Přepínací tlačítka Muž Žena

12 Tento formulářový prvek se používá tehdy, pokud chcete například dát uživateli na výběr několik možností. Atribut NAME určuje, jak se bude jmenovat proměnná, kterou odešleme skriptu. Atributem CHECKED určíme, že toto pole již bude zaškrtnuté (fajfka ;). Kreslení Sport V praxi to bude vypadat následovně: Kreslení Sport Příklad skriptu, který nám zpracuje data: Zaškrtávací pole

13 Tento "oblíbený" formulářový prvek najde uplatnění tam, kde chcete vymazat hodnotu formuláře, resp. formulářových elementů. Atributem VALUE nastavíte text, který bude vepsán v tomto tlačítku. Výsledek: Pole reset

14 Příkladem použití tohoto elementu je například předání proměnných z jednoho skriptu do druhého. Příklad: Příklad skriptu, který nám zpracuje data: Skryté pole

15 Tento formulářový prvek najde uplatnění tam, kde chceme dát uživateli na výběr z několika možností. Pokud použijeme atribut MULTIPLE, uživatel si může vybrat více hodnot (možnosti). SIZE určuje počet naráz zobrazených "řádek" tohoto seznamu. Položky do tohoto seznamu přidáváme pomocí: VALUE. Hodnota uvedená za znakem ">" znamená hodnotu, která bude zobrazena v seznamu Výsledek: V proměnné $vek má skript uloženou zvolenou hodnotu. Seznam

16 Příklad seznamu (MULTIPLE): Počítače Modelaření Sport Hospoda Výsledek: V proměnné $hobby má skript uloženu zvolenou hodnotu. Vybrat více možností můžeme pomocí klávesnice SHIFT nebo CTRL.

17 Tento element umožňuje zapsání několika řádkového textu či dopisu. Pomocí atributu COLS nastavujeme počet sloupců (šířku tohoto elementu) a atribut ROWS určuje počet řádků. Příklad textového pole: Sem můžete zadat počáteční hodnotu tohoto elementu. Výsledek: Obsah tohoto elementu bude uložen v proměnné $vzkaz. Text můžeme ještě zpracovat - zachovat mezery, ošetřit nebezpečné znaky apd. Textové pole (víceřádkové)

18 Dva důvody: 1. Zajistíte, že skrip dostane informace, které potřebuje k činnosti. 2. Informace budou správného typu. Pro ověření platnosti dat se velice často používá funkce isset( ): // Ověření obsahu proměnné $pohlavi if (isset($pohlavi)) { if ($pohlavi == 'M') { $zprava = ' Dobrý den, pane! '; } elseif ($pohlavi == 'F') { $zprava = ' Dobrý den, madam! '; } } else { // Nebylo-li zadáno pohlaví... $pohlavi = NULL; echo ' Nezadali jste své pohlaví! '; } Vkládání nových záznamů Ověření platnosti dat

19 U prázdného textového řetězce vrátí funkce isset( ) hodnotu TRUE. Pro testování textových hodnot používáme raději funkci strlen( ): // Ověření obsahu proměnné $ if (!(strlen($ ) > 0)) { $ = NULL; echo ' Nezadali jste adresu elektronické pošty! '; }

20 Soperglobální proměnné mají velkou výhodu v tom, že jsou vůči registrovaným globálním proměnným bezpečnější a přesnější. Velice často se používají například: Proměnná $_GET – obsahuje všechny proměnné a hodnoty získané prostřednictvím metody GET. Proměnná $_POST – obsahuje všechny proměnné a hodnoty získané prostřednictvím metody POST. K určení skriptu pro zpracování formuláře se často používá proměnná $PHP_SELF - prostřednictvím superglobálního pole $_SERVER[‘PHP_SELF’] : " method="post"> Použití superglobálních proměnných

21

22 // Ověřit jméno if (empty($_POST['jmeno'])) { $jm = FALSE; $zpráva.= ' Zapomněli jste zadat jméno! '; } else { $jm = $_POST['jmeno']; } // Ověřit přijmení if (empty($_POST['prijmeni'])) { $pr = FALSE; $zpráva.= ' Zapomněli jste zadat příjmení! '; } else { $pr = $_POST['prijmeni']; } // Ověřit rodné číslo. if (empty($_POST['rod_cislo'])) { $rc = FALSE; $zpráva.= ' Zapomněli jste zadat rodné číslo! '; } else { $rc = $_POST['rod_cislo']; }

23 $ob = $_POST['obor']; $ro = $_POST['rocnik']; $sp = $_POST['st_prumer']; $e = $_POST[' ']; $dz = $_POST['datum_zapisu']; } if ($id &&$jm && $pr && $rc&& $ob && $ro && $sp && $dz && $e) {//Pokud je vše OK. // Vložte data do databáze. require_once ('mysql_spojit.php'); // Připojit se k databázi // Vytvořte dotaz $dotaz = "INSERT INTO student ( id_st,jmeno, prijmeni, obor,rocnik,rod_cislo,st_prumer, ,datum_zapisu ) VALUES ( '$id','$jm', '$pr', '$ob', '$ro', '$rc', '$sp', '$e', '$dz')"; $vysledek ($dotaz); // Spustit dotaz if ($vysledek) { // Je-li vše OK. echo ' Zápis dat proběhl úspěšně! '; include ('sablony/pata.inc'); // Zahrnout patu. exit(); // Ukončení skriptu } else { // Něco se nepovedlo. $zpráva.= ' Systémová chyba. '. mysql_error(). ' '; } mysql_close(); // Ukončit připojení k databázi. } // Konec zpracování formuláře.

24 // Zobrazit zprávu (pokud něco obsahuje). if (isset($zpráva)) { echo ' ', $zpráva, ' ';} ?> " method="post"> Zadejte nové údaje: Ident. číslo: "/> Jméno: "/> Příjmení: "/>

25 Rod. číslo: "/> Obor: II AŘT Rocnik: "/> St. průměr: " /> El. adresa: " /> Datum zápisu: " />


Stáhnout ppt "Vytváření formuláře PHP. Pokud budeme chtít vytvořit opravdu interaktivní aplikace, neobejdeme se bez formulářů - formulářových prvků. Správa formulářů."

Podobné prezentace


Reklamy Google