Autor Zpráva
Poooool
Profil *
Ahoj,
jsem html/php amater, proto hledam radu zkusenejsich.

Kdyz najedu na svoje stranky, kde mam formular pro svoje zakazniky, dojde mi vporadku vyplneny dotaznik na muj mail na centrum.cz. Má jak info o formulári v Subjectu mailu, tak tělo dorazí. Je tam sice problém s diakritikou, ale to jsem momentálně neřešil, beru to jako mouchu co jde odstranit časem. Teď mi ale chodí formuláře od zákazníků na mail, kdy občas příjde ůplně prázdný mail - žádný subjekt mailu, žádné tělo. Když dám ale na centrumu Forward mail, část formuláře se najednou objeví a je vidět, že ho někdo vyplňoval, ale že je 100% problém s diakritikou, takže dojde jen první řádek...ale i přesto se nezobrazuje.

Prosím o radu moc moc, dělal jsem stejně i ostatní svoje stránky a formuláře,ale tam to běží bez problémů, diakritika i mailu jsou OK.

Přikládám výpis: hlavicka, skripty, formulář a send.php soubor

<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dotaz </title>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/styles.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
<!--
.style3 {color: #FFFFFF}
.style4 {
color: #FF0000;
font-weight: bold;
}
.style5 {color: #FF0000}
-->
</style>
</head>
<body BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 ONLOAD="preloadImages();">
<center>

<script type="text/javascript" src="protoype.js"></script>

<script type="text/javascript">
function change_content(elementname, filename)
{
new Ajax.Updater(elementname, filename);
}
</script>

<script type="text/javascript">
function kontrola_formulare()
{
if(document.getElementById("jmeno").value.length==0) {
alert("Zadejte jmeno, je to povinný údaj.");
document.getElementById("jmeno").focus();
return false;
}

if(document.getElementById("prijmeni").value.length==0) {
alert("Zadejte prijmeni, je to povinný údaj.");
document.getElementById("prijmeni").focus();
return false;
}

if(document.getElementById("email").value.length==0) {
alert("Zadejte email, je to povinný údaj.");
document.getElementById("email").focus();
return false;
}

if(document.getElementById("telefon").value.length==0) {
alert("Zadejte telefon, je to povinný údaj.");
document.getElementById("telefon").focus();
return false;
}

if((document.getElementById("InfoDVD").checked)&&(document.getElementById("ulice").value.length==0)) {
alert("Zadejte ulici, je to povinný údaj.");
document.getElementById("ulice").focus();
return false;
}

if((document.getElementById("InfoDVD").checked)&&(document.getElementById("mesto").value.length==0)) {
alert("Zadejte mesto, je to povinný údaj.");
document.getElementById("mesto").focus();
return false;
}

if((document.getElementById("InfoDVD").checked)&&(document.getElementById("psc").value.length==0)) {
alert("Zadejte PSC, je to povinný údaj.");
document.getElementById("psc").focus();
return false;
}

return true;
}
</script>








<p>
Chcete zaslat další informace emailem, <font color="#000099"><b>nebo pokud jej ještě nemáte, objednat Informační DVD? </b></font>

<form onSubmit="return kontrola_formulare()" action="send.php" method="post">
<table width="" border="0">
<tr>
<td width="33">Jméno*:</td>
<td width="40"><input name="jmeno" id="jmeno" type="text"></td>
</tr>
<tr>
<td width="33">Příjmení*:</td>
<td width="40"><input name="prijmeni" id="prijmeni" type="text"></td>
</tr>
<tr>
<td width="33">Email*:</td>
<td width="40"><input name="email" id="email" type="text"></td>
</tr>
<tr>
<td width="33">Telefon*:</td>
<td width="40"><input name="telefon" id="telefon" type="text"></td>
</tr>
<tr>
<td width="33">Zpráva:</td>
<td colspan="4" class="input">
<textarea rows="2" name="zprava" id="zprava" cols="40" class="text" ></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
Přejete si objednat informační DVD? <input name="InfoDVD" type="checkbox" value="111" id="InfoDVD" />
Ano
</td>

</tr>
<td colspan="2" >
Pokud budete objednávat informační DVD, je třeba zadat doručovací adresu.
<a href="index2.html" class="a">Co je Informační DVD?</a>
</td>
<tr>

<td width="33">Ulice</td>
<td width="40"><input name="ulice" id="ulice" type="text"></td>
</tr>
<tr>

<td width="33">Město</td>
<td width="40"><input name="mesto" id="mesto" type="text"></td>
</tr>
<tr>

<td width="33">PSČ</td>
<td width="40"><input name="psc" id="psc" type="text"></td>
</tr>

<td colspan="2" align="center">

<input type="submit" class="" value="Odeslat">
<input type="reset" class="button" value="Vymazat"></td>
</tr>
<tr>
<td width="33"></td>
<td width="80"><font size="0.75em">* povinny udaj</font></td>
</tr>

</table>

</form>
</p>







A tohle je soubor send.php co odesílá formulář

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>

<?php

$to = "Mujmail@centrum.cz";
$subject = "Novy Formular";
$hlavicka = 'MIME-Version: 1.0' . "\r\n";
$hlavicka .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$hlavicka .= 'From: Registrace' . "\r\n";

$var2 = "Jmeno: ".$jmeno."\n<br />
Prijmeni :".$prijmeni."\n<br />
Email : ".$email."\n<br />
Telefon :".$telefon."\n<br />
Balicek DVD:".$InfoDVD."\n<br />
Zprava:".$zprava."\n<br />
"
;


if (Mail($to, $subject, $var2, $hlavicka))
{
header("Location: okay.html");
}
else
{
header( "Location: problem.html" );
}

?>
</html>
</body>
Mastodont
Profil
První stránka má charset=windows-1250, druhá charset=iso-8859-1 a v jejím kódu vidím charset=utf-8 - a to je ještě otázka, v jakém kódování je to skutečně uloženo. Bude potřeba to sladit.
Poooool
Profil *
aha ... a jaky charset je nejlepsi pro cestinu s diakritikou? dik
Mastodont
Profil
windows-1250 nebo utf-8
TFSi
Profil
nebo iso 8859-2
silverback
Profil
zdravím - mám stále také problém s diakritikou příchozí zprávy - v utf-8 mám kodované všechny stránky webu, přesto mi při odeslání přes formulář:

<form action="druhy.php">
V&aacute;&scaron; mail: <input name="mail_odesilatele"><br>
Predmet: <input name="predmet"><br>
Zpr&aacute;va: <textarea name="zprava"></textarea><br>
<input type=submit value="Odeslat">
</form>


a PHP:

<? if ( Mail("jabbo@sensor.cz", $predmet, $zprava, "From: " . $mail_odesilatele) )
echo "Mail byl odeslán";
else echo "Mail se nepodarilo odeslat"; ?>


oba dokumenty mají v hlavičce:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="cs" />


a přesto mi na mail chodí paznaky - nevíte co s tím?

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: