PHP Vytváření formuláře.

Slides:



Advertisements
Podobné prezentace
Jak na hromadnou korespondenci
Advertisements

IKT PHP PHP Tvorba formuláře - 10 Mgr. Josef Nožička
Tabulky v MS ACCESS Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jiří Novák.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
Výukový materiál zpracován v rámci oblasti podpory 1.5 „EU peníze středním školám“ Název školy Obchodní akademie a Hotelová škola Havlíčkův Brod Název.
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
HTML Formuláře.
Dynamické dokumenty na straně klienta Informatika pro ekonomy I přednáška 5, 6.
Dynamické dokumenty na straně klienta Informatika pro ekonomy I přednáška 5, 6.
Formuláře jsou důležitou součástí stránek, slouží:  k přihlašování k některým stránkám (eshopy, bakaláři, diskuze na webu apod.)  k odeslání údajů do.
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
HTML HyperText Markup Language 3. část Ústav automatizace inženýrských úloh a informatiky FAST VUT v Brně 0U2 - Základy informatiky a výpočetní techniky.
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Manažerská grafika: Program č.3 Jaroslav LosSB 272.
PHP Zpracování formuláře v PHP - 11 Mgr. Josef Nožička IKT PHP
Výpočetní technika Akademický rok 2008/2009 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Hromadná korespondence
YMUSY1 Multimediální systémy 1 Cvičení 5 Formuláře a ovládací prvky.
17.Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Barbora Skoumalová 4.A.
Vyhledávání dat podle určených kritérií Máte za úkol vytvořit databázi klientů v bance s jejich osobními údaji, čísly účtů a konečnými zůstatky na těchto.
Microsoft Access Prezentace základních uživatelských nástrojů
TNPW1 Cvičení
Tabulkový procesor.
VY_32_INOVACE_4.3.IVT1.18/Oc Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jaroslav Ochodek CZ.1.07/1.5.00/ Tvorba webových.
PHP – zasílání dat z formuláře
Hromadná korespondence, makro
Gymnázium, Broumov, Hradební 218 Tematická oblast: Informační a komunikační technologie Číslo materiálu: EU Název: Elektronická pošta Autor: Mgr.
Zakládání dodavatele 1. i 2. úrovně - obsah 1.Obsah 2.Obecné zásady 3.Seznam dodavatelů – jak rozeznat, jestli má ústav připojený svůj záznam dodavatele.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_258 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
PHP – Základy programování
Datové typy a práce s nimi
Hromadná korespondence
TEXTOVÝ EDITOR.
Elektronická komunikace
ANOTACEPrezentace obsahuje informace o elektronické komunikaci, využití u. Druh učebního materiáluDUM Očekávané výstupy Žáci si vytvoří ovou.
JavaScript Podmínky, cykly a pole.
Návrh a tvorba WWW Cvičení 4
Textový editor Vkládání obrázků ze souboru a použití schránky  Pomocí menu vložení a klepnutím na obrázek se nám otevře adresář, ze kterého vybereme.
Úvod do databázových systému B RNDr. Jan Lánský, Ph.D.
Práce se šablonami v MS Word 2007
Databáze Dotazy VY_32_INOVACE_7B16. Dotazy umožňuje vybrat určité záznamy z tabulky na rozdíl od filtru vybrané záznamy umístí do samostatné dočasné nebo.
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES FORMULÁŘE.
PRÁCE S DOTAZY Eva Karmazínová, 4. Y. Postup při vytváření dotazů: 1) Vytvoříte vlastní aplikaci 2) Vytvoříte tabulku v aplikaci 3) Vytvoříte strukturu.
Elektronická pošta Název školy
Formuláře Formuláře uzavíráme do elementů Formuláře uzavíráme do elementů a a Tyto elementy jsou součástí jazyka XHTML, to znamená, že při použití v PHP.
Práce s řetězci Řetězec je libovolný text nebo libovolná skupina znaků. Řetězec se také označuje jako string. Činnosti prováděné s řetězci: Počítání znaků.
David Klíma- 1 - Elektronická pošta Slouží k přenosu zpráv po internetu Každý uživatel má - zavináč Klimad – uživatelské.
Použití dotazu jako zdroj dat pro pohled Vypracovala: Procházková Petra.
Elektronická pošta Autor: Eva Trávníčková, ZŠ Gabry a Málinky Štítná nad Vláří Informatika 5. ročník.
Databáze Formuláře VY_32_INOVACE_7B18. Formuláře Umožňují zobrazit data z tabulek uživatelsky vhodným způsobem Mohou být zobrazena data z více tabulek.
Univerzita třetího věku kurz Znalci Databáze 1.
Elektronická pošta Informatika 5. třída.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
VY_I/2_INOVACE_70_ Miroslav Kaňok. OBSAH Způsoby práce s em Příklad registrace Příjem pošty Odeslání pošty Úkoly.
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
Tvorba webu Zdeněk Malý.
Databáze MS ACCESS 2010.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Programy pro komunikaci Číslo DUM: III/2/VT/2/2/35 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Databáze MS ACCESS 2010.
Vytváření tabulek MS Access (4). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro.
Programovací jazyk C# 2. část. Datové typy C# rozeznává dva druhy datových typů, hodnotové a referenční. Hodnotové datové typy Proměnné hodnotového datového.
ZPRACOVÁNÍ VSTUPŮ POST a GET. METODY ZPRACOVÁNÍ VSTUPŮ 2.
Tabulkový procesor Práce s listy, adresace buňky, definice řady Autorem materiálu a všech jeho částí, není-li uvedeno jinak, Růžena Hynková. Dostupné z.
Výukový materiál zpracovaný v rámci projektu: Střední zdravotnická škola ÚO – šablony Registračn í č í slo projektu: CZ.1.07/1.5.00/ Š ablona: III/2.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Programy pro komunikaci
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Základní škola a Mateřská škola, Baška, p. o. Baška 137, Baška
Transkript prezentace:

PHP Vytváření formuláře

Formulářové prvky 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ář HTML je tvořen dvěma značkami prvku: <FORM> a více prvky <INPUT>. V prvku <FORM> 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ě). <FORM action="nazev_skriptu.php" method="post"> Data formuláře </FORM>

Vstupní pole <INPUT TYPE=“TEXT“ NAME=“…“> 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. <form action="jmeno_skriptu.php" method="post"> <input type="text" name="jmeno_uzivatele" value="Sem zadejte své jméno" size="25"> </form> V praxi to bude vypadat následovně:

Pokud budeme mít více vstupních polí, můžeme je uspořádat : <form action="registrace.php" method="post"> <table align="center"> <tr> <td>Jméno:</td> <td><input type="text" name="jmeno"></td> </tr> <td>Příjmení:</td> <td><input type="text" name="prijmeni"></td> <td>E-mail:</td> <td><input type="text" name="email"></td> </table> </form> V praxi tento příklad bude vypadat následovně: Jméno: Příjmení: E-mail:

Odesílání formuláře <INPUT TYPE="SUBMIT" VALUE=" "> 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. <FORM ACTION="jmeno_skriptu.php" METHOD="POST"> <INPUT TYPE="SUBMIT" VALUE="Odeslat údaje"> </FORM> V praxi bude toto tlačítko vypadat následovně:

Příklad - odešle zvolené data z formuláře skriptu: <form action="data.php" method="post"> <table align="center"> <tr> <td>Jméno:</td> <td><input type="text" name="jmeno"></td></tr> <tr> <td>Příjmení:</td> <td><input type="text" name="prijmeni"></td></tr> <tr> <td>E-mail:</td> <td><input type="text" name="email"></td></tr> <tr> <td align="center" colspan="2"> <input type="submit" value="Odeslat údaje"></td> </tr> </table> </form> 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 $email.

Vytvoření skriptu data.php, který nám zpracuje data: <? echo "Jmenuješ se $jmeno $prijmeni. Tvůj e-mail je: $email !"; ?>

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: <FORM ACTION="registrace.php" METHOD="POST"> Souhlasíte s pravidly registrace? <INPUT TYPE="SUBMIT" VALUE="ANO" NAME="souhlas"> <INPUT TYPE="SUBMIT" VALUE="NE" NAME="souhlas"> </FORM> A skript registrace.php bude vypadat následovně: <? if ($souhlas == "ANO"){ echo "Uživatel souhlasí s registrací !!!"; } else{ echo "Bohužel s pravidly musíte souhlasit !!!";} ?>

Vstupní heslo <INPUT TYPE="PASSWORD" VALUE=" "> 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. <FORM ACTION="jmeno_skriptu.php" METHOD="POST"> <INPUT TYPE="PASSWORD" NAME="heslo" SIZE="25" VALUE="Vaše heslo"> </FORM> V praxi to bude vypadat následovně:

Přepínací tlačítka <INPUT TYPE="RADIO" VALUE="..."> 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. <INPUT TYPE="RADIO" NAME="pohlavi" VALUE="Muž" CHECKED>Muž<br> <INPUT TYPE="RADIO" NAME="pohlavi" VALUE="Žena">Žena Výsledek výběru máme následně v proměnné $pohlavi: Muž Žena

Zaškrtávací pole <INPUT TYPE="CHECKBOX" NAME=" "> 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 ;). <INPUT TYPE="CHECKBOX" NAME="kresleni" value="ano" checked>Kreslení <INPUT TYPE="CHECKBOX" NAME="sport" value="ano">Sport V praxi to bude vypadat následovně: Kreslení Sport Příklad skriptu, který nám zpracuje data: <? if ($kresleni == "ano") echo "Máš rád kreslení"; if ($sport == "ano") echo "Máš rád sport"; ?>

Pole reset <INPUT TYPE="RESET" VALUE="..."> 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. <INPUT TYPE="RESET" value="Vymazat formulář"> Výsledek:

Skryté pole <INPUT TYPE="HIDDEN" NAME="..." VALUE="..."> Příkladem použití tohoto elementu je například předání proměnných z jednoho skriptu do druhého. Příklad: <FORM ACTION="data.php" METHOD="post"> <INPUT TYPE="HIDDEN" NAME="hodnota_a" VALUE="22"> <INPUT TYPE="HIDDEN" NAME="hodnota_b" VALUE="15"> <INPUT TYPE="SUBMIT" VALUE="Odeslat"> </FORM> Příklad skriptu, který nám zpracuje data: <? echo "Hodnota proměnné \$hodnota_a je $hodnota_a"; echo "<br>Hodnota proměnné \$hodnota_b je $hodnota_b"; ?>

Seznam <SELECT NAME=".."> </SELECT> 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í: <OPTION VALUE="..."> VALUE. Hodnota uvedená za znakem ">" znamená hodnotu, která bude zobrazena v seznamu . <SELECT NAME="vek"> <OPTION VALUE="15">15 <OPTION VALUE="20">20 <OPTION VALUE="25">25 <OPTION VALUE="30">30 </SELECT> Výsledek: V proměnné $vek má skript uloženou zvolenou hodnotu.

Příklad seznamu (MULTIPLE): <SELECT NAME="hobby" SIZE="2" MULTIPLE> <OPTION VALUE="pocitace">Počítače <OPTION VALUE="modelareni">Modelaření <OPTION VALUE="sport">Sport <OPTION VALUE="hospoda">Hospoda </SELECT> 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.

Textové pole (víceřádkové) <TEXTAREA> </TEXTAREA> 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: <TEXTAREA NAME="vzkaz" ROWS="10" COLS="20"> Sem můžete zadat počáteční hodnotu tohoto elementu. </TEXTAREA> 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.

Vkládání nových záznamů Ověření platnosti dat 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 = '<b><p>Dobrý den, pane!</p></b>'; } elseif ($pohlavi == 'F') { $zprava = '<b><p>Dobrý den, madam!</p></b>'; } } else { // Nebylo-li zadáno pohlaví... $pohlavi = NULL; echo '<p><b>Nezadali jste své pohlaví!</b></p>';

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é $email if (!(strlen($email) > 0)) { $email = NULL; echo '<p><b>Nezadali jste adresu elektronické pošty!</b></p>'; }

Použití superglobálních proměnných 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’] : <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Vložení údajů o novém studentovi : <?php # vloz_student.php // Nastavení titulu stránky a zahrnutí záhlaví HTML. $titul_stranky = 'Vloz_data'; include ('sablony/zahlavi.inc'); if (isset($_POST['odeslat'])) { // Zpracovat formulář. $zpráva = NULL; // Vytvořte novou prázdnou proměnnou. // Ověřit identifikační číslo if (empty($_POST['id_st'])) { $id = FALSE; $zpráva .= '<p>Zapomněli jste zadat identifikační číslo!</p>'; } else { $id = $_POST['id_st']; }

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

$ob = $_POST['obor']; $ro = $_POST['rocnik']; $sp = $_POST['st_prumer']; $e = $_POST['email']; $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,email,datum_zapisu ) VALUES ( '$id','$jm', '$pr', '$ob', '$ro', '$rc', '$sp', '$e', '$dz')"; $vysledek = @mysql_query ($dotaz); // Spustit dotaz if ($vysledek) { // Je-li vše OK. echo '<p><b>Zápis dat proběhl úspěšně!</b></p>'; include ('sablony/pata.inc'); // Zahrnout patu. exit(); // Ukončení skriptu } else { // Něco se nepovedlo. $zpráva .= '<p>Systémová chyba. </p><p>'. mysql_error(). '</p>'; } mysql_close(); // Ukončit připojení k databázi. } // Konec zpracování formuláře.

// Zobrazit zprávu (pokud něco obsahuje). if (isset($zpráva)) { echo '<font color="red">', $zpráva, '</font>';} ?> <!-- Vytvoření formuláře --> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <table width="90%" align="center"> <tr bgcolor="#999966"><td width="100%"> <font color="#FFCC66"> <b>Zadejte nové údaje:</b></font></td></tr> </table> <table width="90%" align="center"></br> <p><b>Ident. číslo:</b> <input type="text" name="id_st" size="8" maxlength="8" value="<?php if (isset($_POST['id_st'])) echo $_POST['id_st']; ?>"/></p> <p><b>Jméno:</b> <input type="text" name="jmeno" size="20" maxlength="40" value="<?php if (isset($_POST['jmeno'])) echo $_POST['jmeno']; ?>"/></p> <p><b>Příjmení:</b> <input type="text" name="prijmeni" size="30" maxlength="40" value="<?php if (isset($_POST['prijmeni'])) echo $_POST['prijmeni']; ?>"/></p>

<p><b>Rod <p><b>Rod. číslo:</b> <input type="text" name="rod_cislo" size="30" maxlength="40" value="<?php if (isset($_POST['rod_cislo'])) echo $_POST['rod_cislo']; ?>"/></p> <p><b>Obor:</b> <select name="obor"><option value="Inženýrská Informatika" >II<option value="Automatizace a řídicí technika" >AŘT</select ></p> <p><b>Rocnik:</b> <input type="text" name="rocnik" size="30" maxlength="40" value="<?php if (isset($_POST['rocnik'])) echo $_POST['rocnik']; ?>"/></p> <p><b>St. průměr:</b> <input type="text" name="st_prumer" size="40" maxlength="60" value="<?php if (isset($_POST['st_prumer'])) echo $_POST['st_prumer']; ?>" /> </p> <p><b>El. adresa:</b> <input type="text" name="email" size="40" maxlength="60" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /> </p> <p><b>Datum zápisu:</b> <input type="text" name="datum_zapisu" size="40" maxlength="60" value="<?php if (isset($_POST['datum_zapisu'])) echo $_POST['datum_zapisu']; ?>" /> </p> <div align="right"><input type="submit" name="odeslat" value="Odeslat data" /></div></table></form><!-- Konec formuláře --> <?php include ('sablony/pata.inc'); // Zahrnout patu ?>