Autor Zpráva
Pometlo
Profil *
ahoj,
snažím se odstranit nesmyslné znaky v emailu, zkoušel jsem Váš návod ale nevím kde dělám chybu.. dokáže mi někdo poradit..

<?php
$predmet = $_POST['predmet'];
$text    = $_POST['text']    ;
$jmeno   = $_POST['jmeno']    ;
$prijmeni= $_POST['prijmeni']  ;
$email   = $_POST['email']      ;

if ($predmet!="" and $text!="" and $jmeno!="" and $prijmeni!="" and $email!="")
{
mail("email@muj.cz", $predmet, $text, $jmeno, $prijmeni, "From: " . $email );
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{ echo ("<h1>Vaši zprávu se nepodařilo odeslat</h1>");
}

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, $text, $jmeno, $prijmeni, $email, $head = "")
    {  $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
    $head .= "MIME-Version: 1.0\n";
    $head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
    $head .= "Content-Transfer-Encoding: base64\n";
    $text = base64_encode (autoUTF ($text));
    return mail ($to, $predmet, $text, $jmeno, $prijmeni, $email, $head);
    }
?>


předem děkuji za radu

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Alphard
Profil
Tak předně, tohle (především 10. řádek), má k našemu návodu daleko.

Jaké nesmyslnné znaky máte na mysli a kde jsou?
Pometlo
Profil *
otazníky v doručené zprávě atd. (př: Ä?ĹĄÄ?Ĺ?ŞýåíÊ=´)
zkoušel jsem tam vložit "head" a stejně mi to nefunguje..
Alphard
Profil
Pometlo:
Překvapuje mě, že se vůbec něco pošle, očekával bych spíš syntax error. Jméno a příjmení nemůžete přidat jako další parametry.
Funkci z FAQ tam máte sice zkopírovanou, ale nepoužíváte ji. Podívejte se na do návodu ještě jenou.
akali
Profil *
Zkus to takto
Mail("komu", $predmet, $zprava, $head)


$predmet = předmět mailu

do $zprava si ulož všechny porměné, které chceš odeslat
$zprava .= "\n\n Jméno:".htmlspecialchars($_POST['jmeno']);
$zprava .= "\n Příjmení:".htmlspecialchars($_POST['prijmeni']);
$zprava .= "\n e-mail:".htmlspecialchars($_POST['email']);


a do head například
$headers.= "Content-Type: text/plain; charset=UTF-8\r\n";

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