Autor | Zpráva | ||
---|---|---|---|
Argonisius Profil |
#1 · Zasláno: 6. 2. 2011, 21:57:27
Dobrý den,
vytvořil jsem formulář a odesílací script. Ten includuju do single.php, aby se zobrazil pod každým příspěvkem. K odesílání dat e-mailem používám wp_mail(). Problém je v tom, že tato funkce mi odesílá e-mail bez diakritiky (místo ní divné znaky). Dá se to nějak opravit? P.S. Zkoušel jsem použít funkci mail() v kombinaci s funkcemi FAQ sekce PHP, ale nefungovalo to. Kód: <?php // kontrola dat $eofchyby = array(); if(isset($_POST['eof-submit'])) { $eofprodukt = $_POST['eof-produkt']; $eofjmeno = htmlspecialchars($_POST['eof-jmeno']); $eofulice = htmlspecialchars($_POST['eof-ulice']); $eofmesto = htmlspecialchars($_POST['eof-mesto']); $eofpsc = htmlspecialchars($_POST['eof-psc']); $eoftelefon = htmlspecialchars($_POST['eof-telefon']); $eofemail = htmlspecialchars($_POST['eof-email']); $eoficq = htmlspecialchars($_POST['eof-icq']); $eofpoznamky = nl2br(htmlspecialchars($_POST['eof-poznamky'])); // kontrola vyplnění jména if ((strlen($eofjmeno) < 1) || (strlen($eofjmeno) > 50)) { unset ($_POST['eof-jmeno']); $eofchyby[] = 'Firma (jméno a příjmení)'; } // kontrola vyplnění ulice if ((strlen($eofulice) < 1) || (strlen($eofulice) > 40)) { unset ($_POST['eof-ulice']); $eofchyby[] = 'Ulice'; } // kontrola vyplnění města if ((strlen($eofmesto) < 1) || (strlen($eofmesto) > 40)) { unset ($_POST['eof-mesto']); $eofchyby[] = 'Město'; } // kontrola PSČ if (preg_match('~^[0-9]{3} ?[0-9]{2}$~', $eofpsc) == false) { unset ($_POST['eof-psc']); $eofchyby[] = 'PSČ'; } // kontrola telefonu if (preg_match('~^(\+420)? ?\d{3} ?\d{3} ?\d{3}$~', $eoftelefon) == false) { unset ($_POST['eof-telefon']); $eofchyby[] = 'Telefon'; } // kontrola emailu if (is_email($eofemail) == false) { $_POST['eof-email'] = '@'; $eofchyby[] = "Kontaktní e-mail"; } // odeslani e-mailu if (empty($eofchyby)) { $eofkomu = "test@localhost.cz"; $eofpredmet = "Objednávka z e-shopu"; $eofzprava = "Produkt: ".$eofprodukt."\r\n"; $eofzprava .= "--------------------------------------------------\r\n"; $eofzprava .= "Firma (jméno a příjmení): ".$eofjmeno."\r\n"; $eofzprava .= "Ulice: ".$eofulice."\r\n"; $eofzprava .= "Město: ".$eofmesto."\r\n"; $eofzprava .= "PSČ: ".$eofpsc."\r\n"; $eofzprava .= "--------------------------------------------------\r\n"; $eofzprava .= "Telefon: ".$eoftelefon."\r\n"; $eofzprava .= "E-mail: ".$eofemail."\r\n"; $eofzprava .= "ICQ: ".$eoficq."\r\n"; $eofzprava .= "--------------------------------------------------\r\n"; $eofzprava .= "Poznámky: ".$eofpoznamky."\r\n"; $eofhlavicka = 'From: '.$eofjmeno.' <'.$eofemail.'>\r\n'; if (wp_mail($eofkomu, $eofpredmet, $eofzprava, $eofhlavicka)) { $eofinfo = 'Vaše objednávka byla odeslána ke zpracování, děkujeme.'; } else { $eofinfo = 'Bohužel nebylo možné vaši objednávku odeslat, zkuste to prosím později.'; } } } ?> <div id="eshop-order-form"> <h3>Objednávkový formulář</h3> <form method="post" action=""> <p> <?php if (!empty($eofchyby)) { echo "<h4>Špatně vyplněná pole:</h4>"; echo "<ul>"; foreach ($eofchyby as $chyba) { echo "<li>"; echo "<p class=\"chyba\"><strong>".$chyba."</strong></p>"; echo "</li>"; } echo "</ul>"; } if (isset($eofinfo)) { echo "<p><strong>".$eofinfo."</strong></p>"; } ?> </p> <p> <input name="eof-produkt" type="hidden" value="<?php the_title(); ?>" /> <label for="eof-jmeno">Firma (jméno a příjmení)* : </label> <input name="eof-jmeno" size="50" maxlength="50" value="<?php echo $_POST['eof-jmeno']; ?>" /> </p> <p> <label for="eof-ulice">Ulice* : </label> <input name="eof-ulice" size="40" maxlength="40" value="<?php echo $_POST['eof-ulice']; ?>" /> </p> <p> <label for="eof-mesto">Město* : </label> <input name="eof-mesto" size="40" maxlength="40" value="<?php echo $_POST['eof-mesto']; ?>" /> </p> <p> <label for="eof-psc">PSČ* : </label> <input name="eof-psc" size="10" maxlength="10" value="<?php echo $_POST['eof-psc']; ?>" /> </p> <p> <label for="eof-telefon">Telefon* : </label> <input name="eof-telefon" size="20" maxlength="20" value="<?php echo $_POST['eof-telefon']; ?>" /> </p> <p> <label for="eof-email">Kontaktní e-mail* : </label> <input name="eof-email" size="50" maxlength="50" value="<?php if (isset($_POST['eof-email']) == true) {echo $_POST['eof-email'];} else {echo '@';} ?>" /> </p> <p> <label for="eof-icq">ICQ : </label> <input name="eof-icq" size="11" maxlength="11" value="<?php echo $_POST['eof-icq']; ?>" /> </p> <p> <label>Poznámky k objednávce : </label> <textarea rows="5" cols="65" name="eof-poznamky"><?php echo $_POST['eof-poznamky']; ?></textarea> </p> <p> <input type="submit" name="eof-submit" value=" Odeslat objednávku " /> </p> <p class="vysvetlivky"> Pole označená * jsou povinná! </p> </form> </div> |
||
Časová prodleva: 15 let
|
0