Autor Zpráva
Jo jo
Profil *
Uz jsem se tu na to ptal jednou a vypadalo to, ze se to vyresilo, ale nikoliv... Mam formular, ktery mi z pole Odesilatel krade posledni pismenko. Tedy do pole odesilatel vyplnim treba "Josef Novák" a na email mi ale prijde "Josef Nová". Uz fakt nevim kde je chyba. Navic kdyz jeden den mi ty emaily prichazeli s celym jmenem, ale od te doby uz je vzdy useknute... Muzete nekdo poradit? Diky

Kod formulare:

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

<fieldset>
<legend>Kontaktní formulář</legend>
<label>
Vaše jméno: <input type="text" name="jmeno" size="30">
</label>
<label>
Váš e-mail: <input type="text" name="odesilatel" size="30">
</label>
<label>
Vyberte příjemce: <select name="prijemce">
<option value="jmeno">Milan</option>
<option value="jmeno2">Petr</option>
</select>
</label>
<label class="text">
Zpráva:<br><textarea name="zprava" rows="7" cols="49"></textarea><br>
</label>
<label>
<input type="submit" value="Odeslat">
</label>
</fieldset>
</form>


Kod PHP:

<?

$prijemce = $_POST['prijemce'];
if ($prijemce == "jmeno") $komu = "milan@neco.cz";
if ($prijemce == "jmeno2") $komu = "petr@neco.cz";
$header = "From: ".$_POST["odesilatel"]." Content-Type: text/plain;charset=windows-1250";
$text = "Jméno: ".$_POST["jmeno"]." ".$_POST["zprava"];
if(@Mail($komu, "Kontaktni formular", $text , "$header")):
echo "<span style="color: #7bc534; font-weight: bold;">Zpráva byla úspěšně odeslána, odpovím Vám v co nejkratší možné době.";
else:
echo "<span style="color: red; font-weight: bold;">Zprávu se nepodařilo odeslat!!</span><br><br> Je možné že nám vypadl smtp server, zkuste...";
endif;
?>
Yrrah
Profil
Nejspíš problém s kódováním. Zkus odeslat jméno Karel Popel...
joejoe
Profil *
hlavicky v emailu musis zakodovat. bud si nastuduj rfc-822 a rfc-2822 (tusim..) nebo pouzij nejaky hotovy skript, ktery to udela za tebe - treba http://phpmailer.sourceforge.net/

muzes taky diakritiku odstranit http://www.dgx.cz/trine/item/odstraneni-diakritiky-z-ruznych-kodovani
Jo jo
Profil *
Je jedno jestli pouziju diakritiku nebo ne. Kdyz jako odesilatele zadam "Petr" prijde "Pet". Zkusim neco s tema hlavickama, ja je moc nepobiram...
Jo jo
Profil *
Zkoumam tento radek, jestli na nem neco neni, ze mi zmizi to pismenko:

$text = "Jméno: ".$_POST["jmeno"]."

".$_POST["zprava"];
Jo jo
Profil *
To se nema zalomit ten kod a udelat dva radkz, ale jsou mezi tim dva znaky (tedy mezi tema uvozovkama na prvni radku nahore a tema prvnima na druhym radku,je to hned za sebou.
Jo jo
Profil *
Tak jeste jeden poznatek. Zjistil jsem, ze kdyz si ten formular dam na me druhe stranky, tak mi prijde normalne cele jmeno. Oba formulare jsou uplne stejne, odeslal jsem to same a rozdil v odeslani byl cca 1min a stejne na tom druhem bylo zas useknute posledni pismenko. Rozdil je ze kazda stranka je na jinem hostingu. Nic jineho me uz nenapada, cim by to mohlo byt, ikdyz se mi to zda velmi divne!
Hooonza
Profil *
No, když nezjistíš chybu (možná to bude někde nějaká maličkost...), můžeš si zkusit poslat místo prostého $text = "Jméno: ".$_POST['jmeno']; za proměnnou $jméno ještě mezeru:-) Když pak poslední znak nepřijde, nebude to ani takový problém:-)


$text = "Jméno: ".$_POST['jmeno']." ";
Jo jo
Profil *
No me to s tou mezerou taky napadlo... Jen jsem premyslel jak ji tam dostat,ihned za to jmeno. Zkusim to tedy, chtel jsem to udelat az jako krajni moznost.
Jo jo
Profil *
Tak jak jsi mi to napsal mi to vyhodi chybu...
Toto téma je uzamčeno. Odpověď nelze zaslat.