Šablony webových stránek a php skriptů

  • php skripty
  • šablony www
  • Odesílání mailů přímo z formuláře

    Uživatelsky nejjednodušší způsob odesílání mailu přímo z webové stránky je za pomoci formuláře a PHP skriptu.

    Použijeme tento formulář:

    V článku Formulář pro odeslání mailů jsem popsal níže uvedený kód formuláře. Je to hlavně pro ty, kteří s formulíři nemají žádnou zkušenost.

    <form action="mail.php" method="post">
    Vaše jméno:<br />
    <input name="jmeno" type="text" /><br />
    
    Váš e-mail:<br />
    <input name="mail" type="text" /><br />
    Předmět zprávy:<br />
    <input name="predmet" type="text" /><br />
    
    Text zprávy:<br />
    <textarea name="text"></textarea><br />>
    <input type="submit" value="Odeslat" />
    <input type="reset" />
    
    </form> 

    PHP skript pro zpracování údajů a odeslání

    Údaje odešle samotná funkce mail, to ostatní však musí zajistit:

    • příjem údajů z formuláře
    • stanovení příjemce a nastavení odesílatele pro přímou odpověď
    • rozlišení zda byla vyplněna všechna pole
    • vypsat uživateli do dokumentu, co se opravdu stalo

    Vytvoříme soubor mail.php a do něj vložíme tento skript:

    <?php
    $jmeno = $_POST['jmeno'];/*takto proměnné přidělíme to co bylo odesláno ve formuláři metodou POST s atributem name="jmeno"*/
    
    $mail = $_POST['mail'];
    $predmet = $_POST['predmet'];
    $text = $_POST['text'];
    
    $prijemce = "vasmail@cokoli.cz";
    /*vyplníte mail, na který se má formulář odesílat*/
    
    $zahlavi = "From: " . $mail . "\r\n"; 
    /*zobrazuje pak v mailu jako kdyby vám mail přišel přímo z tohoto mailu, můžete pak tedy rovnou odpovídat na mail, který uživatel uvedl*/
    
    /*takto zajistíme, aby se mail neodeslal, pokud nejsou všechna pole vyplněna*/
    
    if ( !empty($jmeno) and !empty($mail) and !empty($predmet) and !empty($text)) {
    	mail($prijemce, $predmet, $text, $zahlavi);
    	echo "<h3>Děkuji. Mail byl úspěšně odeslán.</h3>"; 
    
    	/*toto se vypíše do dokumentu, pokud se mail odešle*/
    
    	} else {
    		echo "<h3>Nevyplnili jste všechna pole. Mail nebyl odeslán.</h3>"; /*toto se vypíše pokud nebudou vyplněna všechna pole, mail se neodešle*/
    
    		}
    ?>

    zobrazit příklad

    Příklad jsem malinko upravil, abyste si ho mohli opravdu vyzkoušet. Přidal jsem pole pro zadání vašeho mailu, abyste mohli sami sobě něco poslat a tak to otestovat.

    Funkce mail()

    mail("komu", "předmět", "zpráva", "hlavička" - není důležité)

    Více se toho o funkci mail dozvíte na php.net.

    Maillist


    Přidáním mailu budete dostávat e-mailem nepravidelně informace o novinkách na tomto webu. Zrušit zasílání těchto informací je možné zde.

    Nově přidané stránky

    Tylova léta


    Obsah této stránky vyžaduje novější verzi aplikace Adobe Flash Player.

    Získat aplikaci Adobe Flash Player

    Autor: Otakar Hypš | výměna odkazů | mapa stránek | tisk | nahoru Reklama na auto | Burza učebnic GJKT | Hudební festival Tylova léta | fBrigády.cz - Brigády pro studenty CNW:Counter