Skript pro odesílání formuláře e-mailem
Tento skript souží k zasílání jakéhokoliv obsahu formuláře na váš e-mail - počet takto zhotovených formulářů není nijak omezen.
Nejprve musíme nadefinovat hlavičku formuláře:
<form method="post" enctype="multipart/form-data" accept-charset="UTF-8" action="http://www.web4u.cz/formmail/formmail.php" >
Dále pak definujeme potřebné proměnné ve formátu:
| Proměnná | Popis |
|---|---|
| accept-charset | Řešení chyby prohlížeče Internet Explorer, který ignoruje hlavičku accept-charset a posílá data v jiném kódování. <input name="utf8" type="hidden" value="✓"> |
| recipient | Příjemce formuláře, zde zadáte e-mailovou adresu na kterou má být obsah formuláře zaslán. <input type=hidden name="recipient" value="email@vasemail.cz"> Více příjemců oddělujte čárkou. |
| bcc | Příjemce skryté kopie formuláře, zde zadáte e-mailovou adresu na kterou má být obsah formuláře zaslán. <input type=hidden name="bcc" value="email@vasemail.cz"> Více příjemců oddělujte čárkou. |
| subject | Text v předmětu odesílaného e-mailu. <input type=hidden name="subject" value="požadovaný předmět zprávy"> |
Do tohoto zadavacího pole zadá odesílatel svoji e-mailovou adresu. <input type=text name="email"> Tato položka je testována na korektnost! Vyhoví cokoliv@cokoliv.cokoliv | |
| phone_no | Telefonní číslo odesílatele formuláře. <input type=text name="phone_no"> Tato položka je testována na korektnost! Vyhoví např. +420 5 45 21 72 53, nebo 45217253, nebo 05/452172 apod. |
| fax_no | Faxové číslo odesílatele formuláře. <input type=text name="fax_no"> Tato položka je testována na korektnost! (podobně jako u phone_no) |
| zip_code | Poštovní směrovací číslo odesílatele. <input type=text name="zip_code"> Tato položka je testována na korektnost! Vyhoví např. 62800, nebo 628 00 |
| redirect | Stránka, na kterou si přejete přesměrovat uživatele po odeslání formuláře. <input type=hidden name="redirect" value="http://your.host.com/to/file.html"> Samozřejmě můžete použít i klasické zadávací pole či menu a pod. |
| require | Zde můžete zadat pole, bez kterých nebude formulář odeslán (uživatel je musí vyplnit). <input type=hidden name="require" value="email,phone_no"> Hlašení o chybě lze definovat pomocí missing_fields_redirect - viz popis níže. |
| required | Má stejnou funkci jako "require". <input type=hidden name="required" value="email,phone_no"> Hlašení o chybě lze definovat pomocí missing_fields_redirect - viz popis níže. |
| attachment | Umožňuje uživateli připojit soubor, který bude odeslán spolu s formulářem. <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="file" name="attachment"> MAX_FILE_SIZE označuje maximální velikost souboru, který lze zaslat. |
| file | Lze definovat i soubor pro zaslání. <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="hidden" name="path_to_file" value="/data/ftp_login/html/tmp"> <input type="file" name="file"> MAX_FILE_SIZE označuje maximální velikost souboru, který lze zaslat.path_to_file musí obsahovat cestu do vašeho adresáře kam se soubor uloží. Cesta k souboru se uvádí absolutně. Např.: při cestě/data/vaseprezentace/html/tmp se soubor umístí do adresáře html/tmp/. Pro tento adresář musí být nastaven přístup pro zápis (chmod 777) v případě nejasností náskontaktujte. |
| sort | Toto políčko uživateli umožňuje seřadit proměnné do výsledného vygenerovaného e-mailu. Uživatel si může zvolit, zda chce položky řadit abecedně nebo si definovat vlastní sadu pravidel, podle kterých budou položky zapisovány do výsledné zprávy. Bez použití políčka "sort" se položky řadí tak, jak je odesílá prohlížeč. Abecedně: <input type=hidden name="sort" value="alphabetic"> Seřazení podle pravidel: <input type=hidden name="sort" value="order:name1,name2,etc..."> |
| env_report | Určuje, jaké globální proměnné mají být o uživateli zaslány v e-mailu. Podporujeme:
<input type=hidden name="env_report" value="REMOTE_HOST, HTTP_USER_AGENT"> |
| title | Definuje záhlaví stránky s výsledkem, pokud nebude použito přesměrování na jinou URL. <input type=hidden name="title" value="Výsledek odeslání"> |
| missing_fields_redirect | Určuje URL, na kterou se má uživatel přesměrovat v případě chyby. Pokud nebude použito, použije se výchozí hlášení. <input type=hidden name="missing_fields_redirect" value="http://your.host.com/ error.html"> |
| background | Umožňuje definovat obrázek pozadí pro zobrazení výsledku odeslání či chyby. <input type=hidden name="background" value="http://your.host.xxx/image.gif"> |
| bgcolor | Definuje barvu pozadí pro zobrazení výsledku odeslání či chyby. <input type=hidden name="bgcolor" value="#FFFFFF"> |
| text_color | Definuje barvu textu pro zobrazení výsledku odeslání či chyby. <input type=hidden name="text_color" value="#000000"> |
| link_color | Určuje barvu linku použitou na stránce s výsledkem. <input type=hidden name="link_color" value="#FF0000"> |
| vlink_color | Určuje barvu linku, která byla již navštívena na stránce s výsledkem. <input type=hidden name="vlink_color" value="#0000FF"> |
| alink_color | Určuje barvu linku, po "najetí" na link na stránce s výsledkem. <input type=hidden name="alink_color" value="#0000FF"> |
| stylesheet | Specifikuje cestu ke stylům (css), které mají být vloženy. <input type=hidden name="style_sheet" value="style.css"> |
Dále si pak do formuláře umístíme libovolné množství vašich zadávacích prvků, které budou odeslány spolu s těmito parametry.
Nakonec přidáme tagy pro odesílací a vymazávací tlačítko:
<input type="submit" name="Submit" value="Odeslat"> <input type="reset" name="Reset" value="Reset">
a formulář ukončíme tagem:
</form>
Příklad:
| Váš telefon: | |
| Váš e-mail: | |
| Váš obrázek: | |
| Jaký máte na nás dotaz: |
Zdrojový kód:
<form method="post" enctype="multipart/form-data" accept-charset="UTF-8" action="http://www.web4u.cz/formmail/formmail.php" > <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="hidden" name="recipient" value="email@domena.cz"> <input type="hidden" name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT"> <input type="hidden" name="utf8" value="✓"> <table> <tr> <td>Váš telefon:</td> <td><input type="text" name="phone_no"></td> </tr> <tr> <td>Váš e-mail:</td> <td><input type="text" name="email"></td> </tr> <tr> <td>Váš obrázek:</td> <td><input type="file" name="attachment"></td> </tr> <tr> <td>Jaký máte na nás dotaz:</td> <td><textarea name="question" cols="40" rows="3"></textarea></td> </tr> </table> <input type="submit" name="Submit" value="Odeslat"> <input type="reset" name="Reset" value="Reset"> </form>
Samozřejmě můžete doplňovat jakékoliv html tagy.
Příklad tagů pro objednávku:
| Kalkulačka TI68 cena 950 Kč | |
| Baterie 1,5 V typ AA |
Zdojový kód:
<table> <tr> <td>Kalkulačka TI68 cena 950,-Kč</td> <td><input type="text" name="ti68_kusu" value="1" size="5"></td> </tr> <tr> <td>Baterie 1,5V typ AA</td> <td><input type="text" name="aa_kusu" value="1" size="5"></td> </tr> </table>
Jakékoliv dotazy ohledně tohoto skriptu samozřejmě rádizodpovíme
