Hlavní stránka ICT Astro a Kosmos Vtipy Návštěvní kniha Download Věda a technika Gastronomie Ankety Chat Superkniha Shoutboard Mail to Zdraví Stařinky Mapa serveru

Kontaktní email - PHP skript

 

Skript vyžaduje server s podporou PHP. Skládá se z 2 komponentů:

 

  1. mailer.php - skript k odesílání HTML formulářů.

     

  2. HTML formulář - ukázka formuláře, který bude odeslán skriptem mailer.php. Do tohoto formuláře si můžete přidat libovolné vstupní prvky.

Upravte skript v označených místech a uložte oba soubory do stejné složky na serveru. Pokud má Váš FTP klient přepínač pro uložení v ASCII nebo binárním módu, uložte v ASCII.

Kód celého dokumentu mailer.php:

<?php
// formulář by musí obsahovat vstupní prvky s těmito jmény:
// odesilatel - email odesilatele
// transfer - URL stránky, kterou chcete zobrazit po odeslání emailu

// zde zadejte svůj vlastní email
$prijemce = 'prijemce@nekde.cz';

// zde můžete změnit kódování
$charset = 'windows-1250';

// další změny nejsou zapotřebí

$odesilatel = $_POST['odesilatel'];
$subjekt = $_POST['subjekt'];
$transfer = $_POST['transfer'];

$datum = date("j/m/Y");
$cas = date("H:i:s");

if (!validace ($prijemce, $odesilatel, $transfer))
    exit("<P><B>Formulář obsahuje chyby.\n\n");
$teloZpravy = vytvorTelo ($_POST);

if (!odeslat ($prijemce, $odesilatel, $subjekt, $datum, $cas, $teloZpravy, $charset))
    exit("<P><B>Zpráva nebyla odeslána.</B>\n\n");
?>
<META http-equiv='refresh' content='0; URL=<?php echo "$transfer"; ?>'>
<?php
exit;

//////////////////////////////// VYTVOŘ TĚLO ZPRÁVY /////////////////////////
function vytvorTelo ($_POST) {
    $teloZpravy = "";
    while (list($name, $value) = each($_POST)) {
        if ($name != 'subjekt' && $name != 'transfer' && $name != 'submit' && $name != 'odesilatel') {
            if (gettype($value) == 'array') { // TAG SELECT MULTIPLE
                $cnt = count($value);
                for ($i=0; $i < $cnt; $i++) {
                    $teloZpravy .= "$name: $value[$i]r\\n";
                }
            }
            else { // JINÉ VSTUPNÍ PRVKY
                $teloZpravy .= "$name: $value\r\n";
            }
        }
    }
    return $teloZpravy;
} // end func

//////////////////////////// ODEŠLI PLATNOU ZPRÁVU /////////////////////////////////
function odeslat ($prijemce, $odesilatel, $subjekt, $datum, $cas, $teloZpravy, $charset){
    $zprava = "------------------------------------------------------------------";
    $zprava .= "\n Komu: $prijemce";
    $zprava .= "\n Od koho: $odesilatel";
    $zprava .= "\n Vec: $subjekt";
    $zprava .= "\n Odesláno: $datum $cas";
    $zprava .= "\n------------------------------------------------------------------";
    $zprava .= "\n\n$teloZpravy";

    $hlavicka = "MIME-Version: 1.0\r\n";
    $hlavicka .= "Content-Type: text/plain; charset=" . $charset . "\r\n";
    $hlavicka .= "From: $odesilatel\r\n";
    $hlavicka .= "To: $prijemce\r\n";
    $hlavicka .= "Reply-To: $prijemce\r\n";
    $hlavicka .= "X-Mailer: muj_server\r\n";

    $odeslano = mail($prijemce, $subjekt, $zprava, $hlavicka);
    if ($odeslano == false) {
        exit ("<P>Zprávu nelze odeslat. Klikněte zpět a zkuste znovu.</B>\n\n");
    }
    return $odeslano;
} // end function

//////////////////////////////// KONTROLA FORMULÁŘE ////////////////////////////

function validace ($prijemce, $odesilatel, $transfer) {
    $valid = true;
    if (!$prijemce) {
        $valid = false;
        exit ("<P><B>Chyba. Vyplňte příjemce. Klikněte zpět a zkuste znovu.</B>\n\n");
    }
    if (!$odesilatel) {
        $valid = false;
        exit ("<P><B>Chyba. Vyplňte odesilatele. Klikněte zpět a zkuste znovu.</B>\n\n");
    }
    if(!eregi( "^" .
        "[_a-z0-9-]+(\.[_a-z0-9-]+)*" .
        "@" .
        "[_a-z0-9-]+(\.[a-z0-9-]+)*" .
        "$", $odesilatel, $regs)) {
    $valid = false;
    exit ("<P><B>Chyba. Neplatný odesílatel. Klikněte zpět a zkuste znovu.</B>\n\n");
    }
    if(!eregi( "^" .
        "[_a-z0-9-]+(\.[_a-z0-9-]+)*" .
        "@" .
        "[_a-z0-9-]+(\.[a-z0-9-]+)*" .
        "$", $prijemce, $regs)) {
        $valid = false;
        exit ("<P><B>Chyba. Neplatný příjemce. Klikněte zpět a zkuste znovu.</B>\n\n");
    }
    if (!transfer) {
        $valid = false;
        $transfer = 'http://tvorba-www.bravepages.com/';
        exit ("<P><B>Chyba. Zadejte URL následné stránky do pole transfer.</B>\n\n");
    }
    return $valid;

} // end func

?>

Příklad formuláře, který bude odeslán na výše uvedený skript z jiného dokumentu:

<FORM
    action="mailer.php"
    method="post"
>

<!-- ----- zadejte URL k přenosu po odeslání emailu ---- -->
<INPUT type="hidden" name="transfer" value="http://tvorba-www.bravepages.com/">
<!-- --------------------------------------------------- -->
<H1>Odeslání formuláře</H1>
Email:
<BR><INPUT type="text" name="odesilatel" value="" size=50 maxlength=50>
<BR>Věc:
<BR><INPUT type="text" name="subjekt" value="" size=50 maxlength=50>

<BR><BR>Text:
<BR><TEXTAREA name="zprava" cols="50" rows="10"></TEXTAREA>
<BR><BR>
<INPUT type="submit" name="submit" value="Odeslat">
<INPUT type="reset" name="reset" value="Zrušit">
</FORM>

 

| Seznam |Google| Atlas | Webzdarma | iDNES | iZITRA | IDOS | ICQ | Quick | Centrum | Yahoo | Eurotel | Webcams | Novinky | Cestiny | Martin |

 

 

* Kurzy * Akcie * Práce * Zájezdy * Zájezdy * Meteobox * Auto *