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..

1<?php
2$predmet = $_POST['predmet'];
3$text    = $_POST['text']    ;
4$jmeno   = $_POST['jmeno']    ;
5$prijmeni= $_POST['prijmeni']  ;
6$email   = $_POST['email']      ;
7 
8if ($predmet!="" and $text!="" and $jmeno!="" and $prijmeni!="" and $email!="")
9{
10mail("email@muj.cz", $predmet, $text, $jmeno, $prijmeni, "From: " . $email );
11echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
12}
13else
14{ echo ("<h1>Vaši zprávu se nepodařilo odeslat</h1>");
15}
16 
17function autoUTF($s)
18    {   
19    // detect UTF-8                         
20    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
21    return $s;
22    // detect WINDOWS-1250
23    if (preg_match('#[\x7F-\x9F\xBC]#', $s))
24    return iconv('WINDOWS-1250', 'UTF-8', $s);
25    // assume ISO-8859-2
26    return iconv('ISO-8859-2', 'UTF-8', $s);
27    }
28 
29    function cs_mail ($to, $predmet, $text, $jmeno, $prijmeni, $email, $head = "")
30    {  $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
31    $head .= "MIME-Version: 1.0\n";
32    $head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
33    $head .= "Content-Transfer-Encoding: base64\n";
34    $text = base64_encode (autoUTF ($text));
35    return mail ($to, $predmet, $text, $jmeno, $prijmeni, $email, $head);
36    }
37?>
<?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>";
}
elseecho ("<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)
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']);
$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";
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0