Autor Zpráva
northon
Profil *
Ahoj,

Mám formulář, efektivní kombinace nějakého jednoduchého scriptu z netu a vašich rad z Nejčastější potíže s PHP (FAQ).
Čeština běhá skvěle, předmět i text zprávy UTF-8. Script se skládá ze dvou částí.

V tom formuláři je také políčko Váš email (ten je ve zprávě uveden jako Odesílatel).
Vyplním fomulář, odešlu. Přejdu do emailu a otevřu tu zprávu, čeština je v pořádku, ale údajně mi ji zaslal : "northon@centrum.czMIME-Version: 1.0@mysak.core.mujhost.net" přitom v poli jsem vyplnil pouze "northon@centrum.cz".

Kód posli.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title>Odesílání emailu</title>
<?php
/* *************** diskuse.jakpsatweb.cz *** PHP FAQ ********************** */
function autoUTF($s)
{
    // detect UTF-8
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
        return $s;
    // detect WINDOWS-1250
    if (preg_match('#[\x7F-\x9F\xBC]#', $s))
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    // assume ISO-8859-2
    return iconv('ISO-8859-2', 'UTF-8', $s);
}

function cs_mail ($to, $predmet, $zprava, $head = "")
       {  
	      $head .= "MIME-Version: 1.0\n";
          $head .= "Content-Type: text/html; charset=\"utf-8\"\n";
          $head .= "Content-Transfer-Encoding: base64\n";
          $zprava = base64_encode (autoUTF ($zprava));
          return mail ($to, $predmet, $zprava, $head); }
/* ********************************************************************** **  */
?>

</head><body>

<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = "Zpráva: {$_POST['zprava']}\r\n";
$zprava .= "______________________________________________________________________\r\n\r\nKontaktní informace:\r\n\r\nJméno: {$_POST['jmeno']}\r\n";
$zprava .= "Telefon: {$_POST['telefon']}\r\n";



if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
$kon = cs_mail ("northon@centrum.cz", $predmet, $zprava, "From: " . $email);
echo "<p><strong>Vᚠe-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Vᚠe-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>";
} 
?>


</body></html>



Kód email.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Odesílání emailu</title>
</head><body>

<form action="posli.php" method="post">
Vaše jméno<input name="jmeno" size="25" value=""><br>
Váš email<input name="email" size="25" value="@"><br>
Telefon<input name="telefon" size="25" value=""><br>
Předmět<input name="predmet" size="25" value="Zpráva z www stránek"><br>
Kolik je 1+1?<input name="spam" size="25"><br>
Zpráva<textarea name="zprava" rows="6" cols="55">Rád bych se zeptal...</textarea><br>
<input type="submit" value="Odeslat">
</form>

</body>
</html>


Adresa formuláře: http://www.jmjoil.cz/kontakt2/email.php

Předem díky moc, s PHP nemam tolik zkušeností, možná sem někde jenom něco neuzavřel.
Alphard
Profil
$kon = cs_mail ("northon@centrum.cz", $predmet, $zprava, "From: $email\n");

Ve FAQ to není zdůrazněné,ale v příkladě to je.
northon
Profil *
Alphard:
děkuju, už to funguje .)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0