Kód DUM : VY_32_INOVACE_DYN.1.15 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 15 PHP- funkce mail() v PHP odesílání e-mailu pomocí dynamické stránky DUM je námětem k řešení jednoduché mailové odezvy čtenáře na obsah webu Ing. Vladimír KEBERT, CSc (Autor) Čeština RVP 18-20-M/01 Informační technologie, předmět: Publikování na Internetu, 2. ročník RVP 63-41-M/01 Ekonomika a podnikání, předmět: Publikování na Internetu, 2. ročník Speciální vzdělávací potřeby Žádné Klíčová slova mail() server funkce PHP Httpd.conf předmět adresa akce Druh učebního materiálu Druh interaktivity Cílová skupina Stupeň a typ vzdělávání Typická věková skupina Prezentace s prvky interaktivity Kombinované Žáci 2. ročníku Odborné vzdělávání / Informační a komunikační technologie 16-19 let Celková velikost Velikost materiálu v kb : 286 tématická oblast sady: Dynamický web
1. Vytvořte jednoduchou webovou aplikaci, která odešle obsah formuláře na určenou e-mailovou adresu. Obsah formuláře můžete opatřit jednoduchou antispamovou ochranou - vytvořte formulář jméno a příjmení, mail, otázku, zda žádá odpověď, předmět žádosti a text vzkazu. - Zajistěte, aby formulář byl ošetřen proti nevyplnění - Do formuláře vložte jednoduchou otázku proti robotům - Zajistěte, zpráva byla rozdělena do řádků podle prvků obsahu - Zajistěte, aby e-mailová zpráva odešla po zmačknutí tlačítka Submit - Ve Vaší e-mailové schránce zkontrolujte příchod zprávy
2. Možný vzhled a obsah formuláře: První 3 pole s hvězdičkou jsou povinná a budou se kontrolovat proti nevyplnění, včetně textového pole Pokud není pole vyplněno, skript nebude pokračovat, dokud nedojde k vyplnění údajů. Obr. č. 1 je pouze vzorem, úprava je na Vás. K předání obsahu formuláře do skriptu je vhodnější použít metodu POST, která předá data přímo, mimo adresní řádek. Na rozdíl od této demonstrační úlohy je lepší odesílací skript oddělit jako samostatný soubor a volat jej pomocí method.
3. Trocha teorie: Konstrukce příkazu mail. Využije se PHP funkce (příkaz): mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters ]] ) Tedy česky: mail ( komu, předmět, zpráva [, volitelné údaje hlavičky [, volitelné doplňkové parametry ]] ) Základní syntaxe příklad: mail(cervena.karkulka@vlkov125.cz, $predmet_zpravy, $text_zpravy)
4. Příprava zprávy: Střední odborná škola a Střední odborné učiliště, Hořovice Obr. č.2: Seznam proměnných z formuláře - jestliže došlo ke stisku tlačítka Go!, složí se zpráva do uživatelsky čitelné podoby. Pomocí výrazů \r \n se odřádkuje (odřádkování se projeví v těle zprávy.) - zkonstruovaná zpráva se vloží do funkce mail() v pořadí komu, předmět, text - následně se odešle e-mail - poslední řádek způsobí vyprázdnění zásobníku POST a přesměrování stránky
5. Kontrola zprávy: Střední odborná škola a Střední odborné učiliště, Hořovice Obr. č.3: Kontrolní výpis převzatého formuláře - Po odeslání obsahu formuláře je vhodné vypsat kontrolní výpis obsahu zprávy a hlášku, že skript uspěl a zpráva odešla na určené místo.
5. Zpráva, která byla odeslána pomocí našeho formuláře: Jak je vidět, mailová zpráva odpovídá přesně formuláři. Odřádkování textu je zajištěno znaky \r (odřádkování pro win, mac) \n (odřádkování pro linux, unix). Pokud nechceme v hlavičce APACHE, do funkce by se pak musel přidat další volitelný parametr hlavička (header)
6. Příklad řešený principiální skript Zadání úlohy: - Postupně si projděte kód řešeného příkladu. - Navrhněte jiné řešení ošetření formuláře proti nevyplnění, nebo obměňte ochranu proti spamovacím robotům - Pokuste se o jiné řešení kontroly, zda mail skutečně odešel - Na základě vlastní rešerše navrhněte složení hlavičky maili jako volitelného parametru funkce mail(). - kód z přílohy rozdělte tak, aby odesílací skript byl v odděleném souboru a byl volán stiskem tlačítka Go.
Přehled použité literatury a děl: Pokud není uvedeno jinak, autorem použitých textů a mediálních příloh (obrázků, textů, interaktivních materiálů, screenshotů) je autor tohoto digitálního učebního materiálu. Příklady a skripty v příloze DUM jsou dílem autora tohoto materiálu:. Použité zdroje: 1. LACKO, Ľuboslav. PHP 5 a MySQL 5: hotová řešení. Vyd. 1. Brno: Computer Press, 2007, 320 s. ISBN 978-80-251-1695-1. 2. KOSEK,J.: PHP - tvorba interaktivních internetových aplikací. Grada Publishing 1999, 492 stran, ISBN 80-7169-373-1 3. PHP a odesílání e-mailu. TVORBA-WEBU.CZ. Tvorba webu [online]. 2008, 2008 [cit. 2013-03-19]. Dostupné z: http://www.tvorba-webu.cz/php/mail.php 4 PHP GROUP. PHP: Mail [online]. 2013. [online]. PHP Group, 2001-2013, 2013-02-09 [cit. 2013-02-09]. Dostupné z: http://www.php.net