Programování v PHP. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze. Další možnosti formulářů

Podobné dokumenty
Návrh a tvorba WWW stránek 1/8. Formuláře

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

Formuláře v HTML. Evropský sociální fond Praha a EU Investujeme do vaší budoucnosti

Inovace a zkvalitnění výuky prostřednictvím ICT Tvorba webových stránek. Ing. Zelinka Pavel Číslo: VY_32_INOVACE_35 17 Anotace:

4. POČÍTAČOVÉ CVIČENÍ

XHTML 1. Formuláře. Element form. <form>... </form>

Základy webových aplikací ZWA Přednáška č. 3 tvorba formulářů na klientské straně. Martin Klíma

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 13 VY 32 INOVACE

Formuláře. Internetové publikování. Formuláře - příklad

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Základy HTML, URL, HTTP, druhy skriptování, formuláře

Formuláře. neomezený počet formulářových polí v rámci HTML dokumentu může být více formulářů, nelze je ale do sebe vnořovat

Programování v jazyce JavaScript

03 - Základy editace dynamických stránek

Atribut Význam Hodnoty

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

DUM 14 téma: Interakce s uživatelem

Vstupní požadavky, doporučení a metodické pokyny

K práci budeme využívat souborového manažeru Unreal Commander alespoň si ho procvičíme

Internet cvičení. ZS 2009/10, Cvičení 3., Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

Programování v jazyce JavaScript

Programování v jazyce JavaScript

TNPW1 Cvičení aneta.bartuskova@uhk.cz

Základy HTML. Obecná syntaxe HTML. Struktura HTML

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Formuláře. Internetové publikování

Neprogramuj, pokud to není nezbytně nutné. Michal Lupečka

XFORMS JAKO NÁHRADA WEBOVÝCH FORMULÁŘŮ XFORMS - WEB FORMS SUCCESSOR

Webová stránka. Matěj Klenka

Internet cvičení (X)HTML Jakub Klímek

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Název Live prez Sear enta Maps

Interaktivní = umožňující vzájemnou komunikaci, tj. přímý vstup do činnosti stroje nebo programu.

Sada 1 - PHP. 09. Formuláře

Internet cvičení. ZS 2009/10, Cvičení 4., PHP. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

PHP a Large Objecty v PostgreSQL

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

IE1 jazyk HTML a kaskádové styly

IE1 jazyk HTML a kaskádové styly

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

2HCS Fakturace 3 - výzvy k platbě (upomínky) -

Popis XML rozhraní Veřejného webu RŽP

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Střední odborná škola a Střední odborné učiliště, Hořovice

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Jazyk C# a platforma.net

mistnost.class.php :40:04

Jazyk C# a platforma.net

Přehled kapitol 1. Základní kostra HTML dokumentu 2. Členění dokumentu 3. Kaskádové styly - CSS 4. Pozadí stránky 5.

SAMUEL LEROY JACKSON. Projekt webové stránky. Programové vybavení Jáchym Kubáček, IT3B Brno 2016

!!Via!AUREA,!s.r.o.!

podnikatele ve formě PDF dokumentu nebo budou jednotlivé datové položky rozvedeny v XML subelementech.

Úvodem Seznámení s HTML Rozhraní Canvas... 47

České Budějovice, Emy Destinové 395

Popis XML rozhraní Veřejného webu RŽP

Jazyk C# - přístup k datům

12. Základy HTML a formuláře v HTML

Webové Aplikace (6. přednáška)

Dynamika na straně serveru

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

DESETIMINUTOVKY HTML - DOVEDNOSTI TÉMATA:

NSWI096 - INTERNET. Úvod do HTML

Inovace bakalářského studijního oboru Aplikovaná chemie

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

PŘEHLED A MOŽNOSTI VYUŽITÍ WEBOVÝCH MAPOVÝCH SLUŽEB

Inovace výuky prostřednictvím šablon pro SŠ

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database.

Pear - hruška Systém pro implementaci a distribuci znovupoužitelných komponent (v PHP) Strukturovaná knihovna open-source (PHP) skriptů Systém pro dis

1. Programovací jazyky

Začátek formuláře. odeslat. Konec formuláře

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

test_form.html, all_request_vars.php

První kapitola úvod do problematiky

Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide.

JavaScript 101. "Trocha života do statických stránek"

HTML - Úvod. Zpracoval: Petr Lasák

Tvorba webových stránek

(X)HTML-TAGY. VOŠ a SŠT Česká Třebová

Tvorba webových stránek

ABRA POS PRINT SERVER

Objektové modelování BI-OMO 6. cvičení

5. POČÍTAČOVÉ CVIČENÍ

VYŠŠÍ ODBORNÁ ŠKOLA a STŘEDNÍ PRŮMYSLOVÁ ŠKOLA Mariánská 1100, Varnsdorf PROGRAMOVÁNÍ FUNKCE, REKURZE, CYKLY

Webové formuláře v HTML5 a Web Forms 2.0

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

1. Téma 03 - Rozhodování

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Úvodem... 9 Kapitola 1 Karetních

Ajax - úvod. Klíčové pojmy: Ajax, skriptování na straně klienta a serveru, objekt XMLHttpRequest, DOM model.

Základy PHP; jednoduché skriptování

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Transkript:

Programování v PHP Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, Helena Wallenfelsová, 2011 Další možnosti formulářů BI-PHP, cvičení 4 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti P. Štěpán, H. Wallenfelsová PHP BI-PHP, cvičení 4 1/6

<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>formular s ruznymi prvky, jejich obsluha</title> </head> <body> <?php // vychozi hodnoty pro prvni zobrazeni stranky $devices = null; // vychozi pro checkboxes $chkdvd = ""; $chkscanner = ""; $chkprinter = ""; $chkmonitor = ""; // vychozi pro radio buttons (napr. vybrana 1. hodnota) $chk1 = (empty($_get["btnodesli"]))?"checked='checked'":""; $chk2 = ""; $chk4 = ""; $chk8 = ""; // vychozi pro seznam (select) $selphp = ""; $seljava = ""; $selcsharp = ""; $selpython = ""; // podobne by bylo pro rozbalovaci seznam (select) // obnoveni hodnot, ktere uzivatel zadal (nastavil) ve strance // priprava promennych, ktere se pouziji pro obnoveni // priprava obnovy pro checkboxes - nevybrane neodesilaji NIC!! // (vybrana (selekovana) hodnota ma atribut checked='checked' // (pro HTML 4 staci checked) if(!empty($_get["devices"])){ $devices = $_GET["devices"]; // cele pole odeslanych hodnot // v cyklu nutno projit cele pole devices - // muze byt vybrano vice polozek foreach($devices as $device){ switch($device){ case "DVD": $chkdvd="checked='checked'"; case "Scanner": $chkscanner="checked='checked'"; case "Printer": $chkprinter="checked='checked'"; case "Monitor": $chkmonitor="checked='checked'"; P. Štěpán, H. Wallenfelsová PHP BI-PHP, cvičení 4 2/6

// priprava obnovy pro radiobuttons - nevybrane neodesilaji NIC!! // vybrana polozka (jedina) - opet atribut checked if(!empty($_get["ram"])){ // neni nutne, zadana vychozi hodnota $ram = $_GET["RAM"]; switch($ram){ case "1": $chk1 = "checked='checked'"; case "2": $chk2 = "checked='checked'"; case "4": $chk4 = "checked='checked'"; case "8": $chk8="checked='checked'"; // priprava obnovy pro seznam (select) - nevybrane opet NIC!! // vybrana polozka (polozky) - atribut selected='selected' if(!empty($_get["languages"])){ // opet neni nutne $languages = $_GET["languages"]; // opet nutno projit cele pole devices - zase muze byt // vybrano vice polozek foreach($languages as $language){ switch($language){ case "PHP": $selphp="selected='selected'"; case "Java": $seljava="selected='selected'"; case "CSharp": $selcsharp="selected='selected'"; case "Python": $selpython="selected='selected'"; /* Zde jiz neni osetreno rozbalovaci pole (druhy select) - obdobne. V realnem programu by samozrejme osetreni muselo byt!! V nasledujicich input resp. select elementech je pomoci PHP kodu vlozena prave nastavena hodnota prislusnych promennych. Tim je obnoven vyber uzivatelem zvolenych prvku (atributy checked a selected).?> Vsimete si, ze v pripade prvku, umoznujicich vicenasobny vyber (zde radiobuttons a select s atributem multiple) je jako nazev prvku pouzito pole (napr. devices[])!! To umoznuje prochazet v cyklech vsechny prvky. (Neni nezbytne.) */ P. Štěpán, H. Wallenfelsová PHP BI-PHP, cvičení 4 3/6

<h1>dalsi formular</h1> <form action="formular2.php" method="get"> <!-- checkboxes --> <input type="checkbox" name="devices[]" value="dvd" <?php echo $chkdvd;?>>dvd<br> <input type="checkbox" name="devices[]" value="scanner" <?php echo $chkscanner;?>>scanner<br> <input type="checkbox" name="devices[]" value="printer" <?php echo $chkprinter;?>>printer<br> <input type="checkbox" name="devices[]" value="monitor" <?php echo $chkmonitor;?>>monitor<br><br> <!-- radiobuttons --> <!-- stejne name - skupina, umoznujici vyber jedineho prvku --> <input type="radio" name="ram" value="1" <?php echo $chk1;?>>1gb<br> <input type="radio" name="ram" value="2" <?php echo $chk2;?>>2gb<br> <input type="radio" name="ram" value="4" <?php echo $chk4;?>>4gb<br> <input type="radio" name="ram" value="8" <?php echo $chk8;?>>8gb<br><br> <!-- seznam (select), ktery zobrazuje 3 radky --> <!-- atributy u select urcuji, zde jde o rozbalovaci seznam (combobox) a zda je mozno vybrat najednou vice polozek --> <select name="languages[]" multiple="multiple" size="3"> <option value="php" <?php echo $selphp;?>>php</option> <option value="java" <?php echo $seljava;?>>java</option> <option value="csharp" <?php echo $selcsharp;?>>csharp</option> <option value="python" <?php echo $selpython;?>>python</option> </select><br><br> <!-- rozbalovaci seznam (select) --> <!-- zde jiz neni provedena obnova puvodnich hodnot --> <select name="selram"> <option value="1">1gb</option> <option value="2">2gb</option> <option value="4">4gb</option> <option value="8">8gb</option> </select><br><br> <!-- odesilaci tlacitko --> <input type="submit" name="btnodesli" value="odesli"><br><br> <!-- obrazek, ktery provadi funkci submit + odesila souradnice, na ktere bylo kliknuto. Pokud je pouzit, je NUTNE v PHP kodu testovat (pro zjištěni, zda je stranka nacitana poprve) na empty nejen $_GET["btnOdesli"], ale take $_GET["Obrazek_x"], nebo $_GET["Obrazek_y"]!! --> <input type="image" name="obrazek" src="pes.jpg" alt="zde ma byt obrazek" style="width:100px;height:100px;background-color:cyan;"> <br><br> </form> P. Štěpán, H. Wallenfelsová PHP BI-PHP, cvičení 4 4/6

<?php // napr. zde muze byt provedeno zpracovani nactenych hodnot // (pro ukazku pouze vypsany nektere hodnoty // bylo odeslano pomoci submit (odeslano uzivatelem), // nebo zobrazeno poprve? // pro zjednoduseni se nebere v uvahu odeslani kliknutim // na obrazek (input typu image) if (!empty($_get["btnodesli"])) { // vypis (nalezeni) zvolenych checkboxu if (!empty($_get["devices"])){ $devices = $_GET["devices"]; echo "Vybrana zarizeni:<br>"; // Prochazeni polem odeslanych hodnot. // Odesilaji se hodnoty POUZE TECH CHECKBOXU, // ktere BYLY ZATRZENY!! foreach ($devices as $device) { echo "$device<br>"; // vypis (nalezeni) zvoleneho radiobutton echo "<br>zvolena velikost RAM:<br>"; // Opet se něco odesila, jen pokud byl nejaky // radiobutton vybran! if(empty($_get["ram"])) echo "Neni zvolena velikost pameti!<br>"; else { $ram = $_GET["RAM"]; switch ($ram){ case "1": echo "1 GB<br>"; case "2": echo "2 GB<br>"; case "4": echo "4 GB<br>"; case "8": echo "8 GB<br>"; default: // pro hackery (podvodne stranky) echo "Chybne zvolena RAM<br>"; echo "<br>"; P. Štěpán, H. Wallenfelsová PHP BI-PHP, cvičení 4 5/6

// ----- obrazek ve funkci submit button ----- // Bylo odeslano kliknutim do obrazku? Odesila x-ovou a y-ovou // souradnici bodu v obrazku, kam bylo kliknuto!! // PHP prekodovava skutecne odeslane jmeno (napr. Obrazek.x) // na tvar Obrazek_x (znak. je v PHP operator retezeni) if (!empty($_get["obrazek_x"])){ // stejne mozno pouzit Obrazek_y $x = $_GET["Obrazek_x"]; $y = $_GET["Obrazek_y"]; echo "<br>x: $x; Y: $y<br><br>"; // "Zpracovani" souřadnic - zjisteni casti obrazku, // do ktere bylo kliknuto if (($x < 50) && ($y < 50)) $cast = "Severozapad"; elseif (($x < 50) && ($y >= 50)) $cast = "Jihozapad"; elseif (($x >= 50) && ($y < 50)) $cast = "Severovychod"; else $cast = "Jihovychod";?> </body> </html> echo "Vybran $cast<br>"; P. Štěpán, H. Wallenfelsová PHP BI-PHP, cvičení 4 6/6