Jak vytvořit Kontaktní formulář HTML5 / CSS3 založený na Ajaxu
Kontaktní formulář je smrtelně nezbytný pro všechny webové stránky, protože působí jako posel, který předává názor nebo dotazy návštěvníků webmasteru. Na webu bylo nespočet kontaktních formulářů, ale bohužel většina z nich vám nevysvětluje vnitřní pracovní části, takže zde přichází podrobný návod, který vás naučí vytvořit pokročilý kontaktní formulář od nuly založený na technologii pop, HTML5 a CSS3..
Vzhledem k povaze internetového e-mailového kontaktního formuláře jsme také povinni se ponořit do dvou samostatných polí aplikace, což je kód PHP backendu pro odesílání e-mailů a funkcí jQuery pro bohaté uživatelské rozhraní. Do konce zůstane s plně dynamickým a funkčním kontaktním formulářem napsaným s pozdějším přizpůsobením.
Začínáme budovat svůj vlastní pokročilý kontaktní formulář!
Zástupce:
- Demo - Získejte náhled toho, co stavíte
- Stáhnout - Stáhnout všechny soubory (php + css)
Strukturování aplikace
Chcete-li začít, budete potřebovat nějaký typ webového serveru pro práci. Pokud používáte Windows stroj WAMP je pravděpodobně vaše nejlepší volba. Uživatelé systému Mac mají podobný program s názvem MAMP, který je stejně snadno instalovatelný.
Tyto balíčky nastaví na vašem počítači lokální server s plným přístupem k PHP. Alternativně, pokud vlastníte serverový prostor nebo máte plný přístup k serveru do vzdáleného umístění, můžete jej místo toho použít. Nebudeme potřebovat žádné databáze MySQL, které by měly věci trochu zjednodušit.
Jakmile je váš server nastaven vytvořit novou složku, do které bude aplikace umístěna. Můžete pojmenovat to, co byste chtěli, protože to není škodlivé, nebo dokonce související s konečným produktem. Struktura složek bude použita při přístupu k souborům ve webovém prohlížeči. Jednoduchý příklad by byl http: //localhost/ajaxcontact/contact.php
Sestavme si naše soubory!
Budeme pracovat pouze ve dvou základních souborech. Nejdřív budeme potřebovat jádro .php soubor, který obsahuje nejen naši aplikační logiku, ale také značení HTML frontendu. Níže je ukázkový kód převzatý z našeho startovacího souboru.
HTML5 / CSS Ajax Kontaktní formulář s jQuery
Pro začátek jsme do našeho dokumentu napsali jednoduchou rubriku. To zahrnuje obecné Prohlášení Doctype pro HTML5 a některé prvky dokumentu HTML / XML. Nejsou přesně požadovány, ale usnadňují proces vykreslování ve starších (a novějších) prohlížečích. Také to nikdy nebolí nabídnout více informací.
O něco dále můžeme vidět dva řádky těsně před naší závěrečnou značkou. První zahrnuje naše jQuery skript z online úložiště Google Code Repository. To je nutné pro fungování dynamických chyb stránek. Přímo pod ní máme základní Dokument CSS obsahující všechny naše styly stránek.
Uvnitř našeho dokumentu máme několik obsahující dělení hlavní kontaktní formulář. To obsahuje 3 vstupní prvky pro jméno uživatele, emailová adresa, a osobní zpráva. HTML značení je poměrně standardní a nemělo by to zmást mysl nějakého zprostředkujícího vývojáře.
Váš e-mail byl odeslán. Huzzah!
Tady máme základní PHP podmíněný kód vnořené do několika kontejnerů stránky. To zkontroluje nastavenou hodnotu proměnné s názvem
$ emailSent
a pokud se rovná true, zobrazí zprávu o úspěchu.Uvnitř našeho formuláře HTML
jiný Příkaz je to, co se bude zobrazovat při načítání první stránky, protože nebude zpočátku odesílat žádný obsah. Uvnitř zde uvedeme a stručná sbírka formulářových prvků a tlačítko Odeslat.
Při odesílání formuláře došlo k chybě
Možná jste si všimli, že existuje další podmíněný blok přímo po startovním formuláři. Kontroluje proměnnou pojmenovanou $ hasError
a po potvrzení zobrazí chybové hlášení. Tato nouzová metoda je pouze pokud je JavaScript zakázán v prohlížeči, a proto nemohou generovat dynamické chyby.
Můžeme najít celou cestu dolů jednotlivých proměnných PHP kontrolovány. Příkazy regulují, zda byl formulář již podán s vyplněnými jen částečnými částkami dat. Jedná se o další záložní systém, který zobrazuje obsah již vyplněných polí - pěkný trik pro správné uživatelské prostředí!
Bezprostředně po dokončení našeho formuláře je jich málo Funkce jQuery jsme napsali. Budeme o nich hovořit jako první, protože se jedná o výchozí implementaci na stránce. Pokud však prohlížeč JavaScript neakceptuje, můžeme se standardně spoléhat na náš kód PHP.
Otevření jQuery
Nejjednodušší způsob, jak začít mluvit na toto téma, by bylo ponořit se přímo dovnitř. Rozdělím jednotlivé bloky po řádcích tak, aby bylo vidět, co skript skutečně kontroluje..
Nicméně, pokud se ztratíte jen zkontrolovat soubory kódu projektu. Všechny plné bloky jsou předem napsané a dobře zdokumentované na webových stránkách jQuery. Chcete-li začít, otevřeme náš kód podobný všem ostatním:
Pokud jste obeznámeni zpětná volání můžete si všimnout pošta()
funkce má zabudovanou sadu parametrů. Zpětné volání jsou menší funkce, které jsou volány na odezvu dat z jiné funkce.
Tak například, když naše jQuery.post ()
funkce úspěšně střílí e-mail, který zavolá vlastní interní funkci pro zobrazení posuvné animace. Všechny tyto kódy mohou být napsány ve vlastním bloku a přesunuty jinam. V zájmu tohoto tutoriálu je však mnohem snazší napsat zpětné volání jako inline funkci.
Prolomit naše PHP
Poslední překážkou, o které je třeba zmínit, je logika za procesorem PHP. To je backend systém, který bude ve skutečnosti volání funkce pošty a poslat zprávu. Veškerý kód použitý v příkladech níže naleznete přímo v horní části naší hlavní .php před výstupem HTML.
Tam je také několik vnitřních stylů, které osvěžují stránku. Není zde nic nového, takže nebudeme chodit do žádného z detailů. Nicméně styles.css Dokument je součástí kódu projektu a obsahuje základní metody CSS3.
Začneme tím, že otevřeme naši doložku PHP a zkontrolujeme pokud byl formulář dokonce předložen. POŠTA proměnná “předloženy” bylo vlastně skryté vstupní pole přidané na samém konci našeho formuláře. Je to užitečná cesta zkontrolujte, zda uživatel odeslal cokoliv a tak nevyužíváme zdroje serverů.
Po tomto máme 3 oddělené pokud / jinak prohlášení, které chcete vidět Pokud bylo vyplněno každé vstupní pole. Nebudu zde uvádět každý kousek logiky, protože jsou v přírodě velmi opakující se. Abychom vám však uvedli stručný příklad, zahrnuli jsme níže uvedenou klauzuli o ověření e-mailu:
// potřebujete platný e-mail, pokud (trim ($ _ POST ['email']) === ") $ emailError = 'Zapomněli jste zadat svou e-mailovou adresu.'; $ hasError = true; else if (! preg_match ("/^ [s .:::::::]] [–z0-9_.-]*@[a-z0-9.-]+\t _POST ['email']))) $ emailError = 'Zadali jste neplatnou e-mailovou adresu.'; $ HasError = true; else $ email = trim ($ _ POST ['email']);PHP zkrátí všechny mezery z hodnoty a zkontroluje, zda je něco zbylé. Pokud ano, máme podrobný Regulární výraz (Regex) zjistit, zda vstupní řetězec uživatele odpovídá vzoru e-mailu.
Určitě nemusíte pochopit, jak
preg_match ()
pracuje na vytvoření tohoto skriptu. Je to užitečná funkce určovat pravidla a požadavky pro úspěšný typ dat, ale příkazy pokročilé znalosti programování opravdu pochopit. V tomto scénáři zajišťujeme, aby uživatel zadával pouze několik málo znaků, včetně @ symbol následovaný 2-4 znaky představující a Doména nejvyšší úrovně.Poté, co všechny naše logiky projdou a nevrátíme žádné chyby, je čas poslat naši zprávu! Tento bit kódu nastaví jednotlivé proměnné pro přizpůsobení naší e-mailové zprávy a nastavení některých záhlaví pošty procesu.
// po chybě při chybě nechte e-mail nyní! if (! isset ($ hasError)) $ emailTo = '[email protected]'; $ subject = 'Odeslat zprávu z'. $ name; $ sendCopy = trim ($ _ POST ['sendCopy']); $ body = "Jméno: $ name n nEmail: $ email n n Příspěvky: $ comments"; $ headers = 'Od:'. ' <'.$emailTo.'>". "n". 'Odpovědět: ' . $ email; mail ($ emailTo, $ subject, $ body, $ hlavičky); // nastavte hodnotu boolean na hodnotu TRUE $ emailSent = true;Pokud jste přemýšleli, jak kód bude na vaší e-mailové adrese, je to část, kterou vyplníte. První proměnná v naší sadě má název
$ emailTo
a měly by obsahovat jakékoli e-mailovou adresu, na kterou bude zpráva přijata.Uvnitř našeho
$ tělo
variabilní využívámen
oddělovač pro přidání nových řádků do zprávy. Tím se přidají malá umístění pro jméno odesílatele, emailová adresa, následuje přestávka pro jejich obsahu zprávy. Samozřejmě můžete strávit čas pěkným dohledem, ale tato struktura funguje dobře.Závěr
Tím se zavře náš výukový program pro pokročilý kontaktní formulář. Pokud byste chtěli styl své prvky ve vztahu k mé, můžete se podívat na můj příklad styles.css v rámci kódu projektu. Stránka je však dostatečně strukturovaná, abyste si mohli snadno vytvořit svůj vlastní vzhled.
Stáhněte si zdrojový kód a podívejte se, co jsem udělal o něco blíž. Je dobré sledovat návod, ale mít přímý přístup ke zdroji projektu může být neocenitelný. Já jsem také zahrnoval stručný styl, aby se přizpůsobení vánek, díky za váš názor!