Autor Zpráva
petruskaa12
Profil
Zdravím vás moji milí.
Rovnou k problému, s php nemám žádné zkušenosti a tento skript byl vytvořen s velkou pomocí :D
Ale nakonec funguje suprově, ale potom, co jsem místo svého emailu: "...@seznam.cz" jsem zadala ten, na který to má chodit: "...@centrum.cz", nastaly problémy s diakritikou.. Ty písmena se prostě neodešlou vůbec nebo jako čtverečky s otazníky.

Jm�no:
P��jmen�:
Jm�no a p��jmen� z�konn�ho z�stupce:
Email z�konn�ho z�stupce:
Telefon z�konn�ho z�stupce:
Ulice:
��slo popisn�:
M�sto:
PS�:
,..


Zkoušela jsem spoustu věcí, ale se svými znalosti jsem nic nezmohla. Pročítala jsem spoustu vláken, ale všude se víceméně mluví o hlavičce, v kterém mám změnit kódování,.. Ale v mém kódu se hlavička nenachází a asi proto nemohu najít nic, co by mi pomohlo..

Snad se tu najde někdo, kdo mi s tímto problémem poradí. Děkuju moc.

Můj formulář
A můj send.php
<
<?php
$jmeno_odesilatele = $_POST["jmeno_odesilatele"];
$prijmeni_odesilatele = $_POST["prijmeni_odesilatele"];
$zakonny_zastupce = $_POST["zakonny_zastupce"];
$email_zz = $_POST["email_zz"];
$telefon_zz = $_POST["telefon_zz"];
$ulice = $_POST["ulice"];
$cislo = $_POST["cislo"];
$mesto = $_POST["mesto"];
$psc = $_POST["psc"];
$MatematikaDen = $_POST["MatematikaDen"];
$MatematikaCas = $_POST["MatematikaCas"];
$MatematikaNahradniDen = $_POST["MatematikaNahradniDen"];
$CestinaDen = $_POST["CestinaDen"];
$CestinaCas = $_POST["CestinaCas"];
$CestinaNahradniDen = $_POST["CestinaNahradniDen"];
$poznamka = $_POST["poznamka"];

$to = "pripravne.kurzy@centrum.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Přihláška na přípravné kurzy od ".$jmeno_odesilatele."";
$mess = "Jméno: ".$jmeno_odesilatele."\n
    Příjmení:".$prijmeni_odesilatele."\n
    Jméno a příjmení zákonného zástupce: ".$zakonny_zastupce." \n
    Email zákonného zástupce:".$email_zz."\n
    Telefon zákonného zástupce:".$telefon_zz."\n
    Ulice:".$ulice."\n
    Číslo popisné:".$cislo."\n
    Město:".$mesto."\n
    PSČ:".$psc."\n
    Matematika - den:" . $MatematikaDen."\n
    Matematika - čas:" . $MatematikaCas."\n
    Matematika - nahradní den:" . $MatematikaNahradniDen."\n
    Čeština - den:" . $CestinaDen."\n
    Čeština - čas:" . $CestinaCas."\n
    Čeština - nahradní den:" . $CestinaNahradniDen."\n
    Poznámka:" . $poznamka."\n";

mail($to, $subject, $mess, $extra);

?>

<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=po_prihlasce.html">
</head></html
juriad
Profil
Místo funkce mail použij zdejší funkci cs_mail. Nejčastější potíže s PHP (FAQ) » Kódování e-mailu, aneb abychom neposílali otazníky. (prostě si těch 28 řádků zkopíruj).

lionel messi, ty hlavičky má vpořádku. To, co vypadá jako hlavičky (jméno, ulice, matematika, ...) chce mít v těle mailu).
lionel messi
Profil
Česká diakritika v mailech

Inak hlavičky sa predávajú funkcii mail ako 4. parameter.

Pardon, nový juriadov príspevok mi nepreblikol.

Reagujem na juriadov doplnok k [#2]:

juriad:
To, co vypadá jako hlavičky (jméno, ulice, matematika, ...) chce mít v těle mailu).

Jasné, to som pochopil hneď, moja poznámka sa vzťahovala na „Pročítala jsem spoustu vláken, ale všude se víceméně mluví o hlavičce, v kterém mám změnit kódování,.. Ale v mém kódu se hlavička nenachází a asi proto nemohu najít nic, co by mi pomohlo..“ :-)
petruskaa12
Profil
juriad:
Toto téma jsem četla a právě jsem ho nepochopila.. Kampak mám zkopírovat těch 28 řádků?
juriad
Profil
<?php

# sem nakopíruješ definice funkcí autoUTF a cs_mail z odkázané stránky

# tady  budeš mít ty své proměnné (tvé řádky 2 - 37)

# nezavoláš mail, ale cs_mail:
cs_mail($to, $subject, $mess, $extra);

# a na konci přesměruješ (jde to lépe než to máš teď):
header('Location: po_prihlasce.html');

?>
<!-- a tady už žádné html není nepotřeba -->
petruskaa12
Profil
Stále nefunkční.. Jsem nepoužitelná!>_<
<?php

 autoUTF($s)
{
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
    {
        return $s;
    }
    elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
    {
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    }
    else // assume ISO-8859-2
    {
        return iconv('ISO-8859-2', 'UTF-8', $s);
    }
}
 
function cs_mail($to, $subject, $mess, $extra = "")
{
    $subject = "=?utf-8?B?".base64_encode(autoUTF($subject))."?=";
    $extra .= "MIME-Version: 1.0".PHP_EOL;
    $extra .= "Content-Type: text/plain; charset=\"utf-8\"".PHP_EOL;
    $extra .= "Content-Transfer-Encoding: base64".PHP_EOL;
    $mess = wordwrap(base64_encode(autoUTF($mess)), 78, PHP_EOL, true);
    return mail($to, $subject, $mess, $extra);
}

$jmeno_odesilatele = $_POST["jmeno_odesilatele"];
$prijmeni_odesilatele = $_POST["prijmeni_odesilatele"];
$zakonny_zastupce = $_POST["zakonny_zastupce"];
$email_zz = $_POST["email_zz"];
$telefon_zz = $_POST["telefon_zz"];
$ulice = $_POST["ulice"];
$cislo = $_POST["cislo"];
$mesto = $_POST["mesto"];
$psc = $_POST["psc"];
$MatematikaDen = $_POST["MatematikaDen"];
$MatematikaCas = $_POST["MatematikaCas"];
$MatematikaNahradniDen = $_POST["MatematikaNahradniDen"];
$CestinaDen = $_POST["CestinaDen"];
$CestinaCas = $_POST["CestinaCas"];
$CestinaNahradniDen = $_POST["CestinaNahradniDen"];
$poznamka = $_POST["poznamka"];

$to = "pripravne.kurzy@centrum.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Přihláška na přípravné kurzy od ".$jmeno_odesilatele."";
$mess = "Jméno: ".$jmeno_odesilatele."\n
    Příjmení:".$prijmeni_odesilatele."\n
    Jméno a příjmení zákonného zástupce: ".$zakonny_zastupce." \n
    Email zákonného zástupce:".$email_zz."\n
    Telefon zákonného zástupce:".$telefon_zz."\n
    Ulice:".$ulice."\n
    Číslo popisné:".$cislo."\n
    Město:".$mesto."\n
    PSČ:".$psc."\n
    Matematika - den:" . $MatematikaDen."\n
    Matematika - čas:" . $MatematikaCas."\n
    Matematika - nahradní den:" . $MatematikaNahradniDen."\n
    Čeština - den:" . $CestinaDen."\n
    Čeština - čas:" . $CestinaCas."\n
    Čeština - nahradní den:" . $CestinaNahradniDen."\n
    Poznámka:" . $poznamka."\n";

cs_mail($to, $subject, $mess, $extra);

header('Location: po_prihlasce.html');

?>
juriad
Profil
Na 3. řádku před definicí autoUTF ti chybí slovo function.
petruskaa12
Profil
juriad:
Konečně! Jsem ti hrozně moc zavázána!
Tak moc jsi mi pomohl, děkuju moc!

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: