Autor Zpráva
Tommy4
Profil
Čus, vytvořil jsem si jednoduchý formulář, který pošle údaje na e-mail. Vše funguje super, ale když čtu ten e-mail, není tam diakritika. Nevíte někdo co s tím? Díky za rady.
kletely
Profil
Tommy4
Hladaj, hladaj...
Rieši sa tu denne.
A keď potrebuješ pomoc tak napíš ten kód sem :)
Tommy4
Profil
Hladaj, hladaj...
Tim padem jsem sem zbytečně psal, když se ti odpoví hledej.

Jinak dávám sem ten kód, je to myslím čistý:

<table border="0">

<form action="registrace.php" method="post">

<tr>
<td>Nick:</td>
<td><input name="nick" accesskey="j" type="text"></td>
</tr>

<tr>
<td>Věk:</td>
<td><input name="vek" accesskey="v" type="text"></td>
</tr>

<tr>
<td>E-mail:</td>
<td><input name="email" accesskey="e" type="text"></td>
</tr>

<tr>
<td>ICQ:</td>
<td><input name="icq" accesskey="i" type="text"></td>
</tr>

<tr>
<td>Hra:</td>
<td><select name="hra" size="1"><option value="GTA: San Andreas">GTA: San Andreas</option><opgroup><option value="JK3: Jedi Academy">JK3: Jedi Academy</option><opgroup><option value="Všechny">Všechny</option></select></td>
</tr>

<tr>
<td>Poznámky:</td>
<td><textarea name="poznamky" accesskey="p" type="text" rows="3" cols="25">Nepovinné.</textarea></td>
</tr>

<tr>
<td></td>
<td>
<input type="radio" name="odsouhlaseni" value="Souhlasím s pravidly">Souhlasím s pravidly<br>
<input type="radio" name="odsouhlaseni" value="Nesouhlasím s pravidly" checked>Nesouhlasím s pravidly
</td>
</tr>

<tr>
<td></td>
<td><input type="submit" class="button" value="Registrovat"></td>
</tr>

</form>

</table>

------------------------------------- registrace.php -----------------------------------------

<?php

$to = "darksouls@email.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Registrace";
$mess = "Nick: ".$nick."\nVěk: ".$vek."\nE-mail: ".$email."\nICQ: ".$icq."\nHra: ".$hra."\nPoznámky: ".$poznamky."\nOdskouhlasení: ".$odsouhlaseni."";

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

?>

<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php?p=9">
</head>
<body>
<script>
alert("Registrace byla zaslána, na Vaši e-mailovou adresu bude zaslán e-mail s oznámením přijetí nebo nepřijetí.");
</script>
</body>
</html>

Díky za rady.
kletely
Profil
Tommy4
Dodaj tam
 $extra = "MIME-Version: 1.0\n";
 $extra.= "Content-Type: text/plain; charset=\"utf-8\"\n";
 $extra.= "Content-Transfer-Encoding: base64\n";
 $extra.= "From:  $email\n";
 $mess = Base64_Encode($mess);

To by malo fungovať :)
Tommy4
Profil
Díky, jde to.
kletely
Profil
Tommy4
Nie je zač :)
DoubleThink
Profil *
Teda posílat celý plain mail v base64, krása.
kletely
Profil
DoubleThink
Nejaké problémi?
DoubleThink
Profil *
Nejaké problémi?
Base64 ti nafoukne mail o ~40%. To je nepříjemnost. Teď ten problém - mail bude dost často zbytečně padat do spamu.

Jediná spolehlivá rada je používat bez vyjímek hotové mailové třídy (PHPMailer například) a posílat maily nejen správně, ale také standardně.

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: