Autor | Zpráva | ||
---|---|---|---|
vodys Profil * |
#1 · Zasláno: 11. 8. 2013, 15:29:06
Dobrý den, mám banální problém ..
Sehnal jsem si na internetu funkční formulář, protože já osobně umím jen ty nejlehčí o pár položkách. Ale zarazila mě jedna chyba při odesílání výsledku na email. A to že v položce Zpráva jdou psát háčky a čárky, ale ve jménu a příjmení nikoliv. Ví někdo, jak se tato drobnost dá napravit, aby šli háčka, čárky všude? Děkuji send.php <?php if(isset($_POST['email'])) { // CHANGE THE TWO LINES BELOW $email_to = "vodysm@seznam.cz"; $email_subject = "CHYTRAPRACE zajemce"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form you submitted. "; echo "These errors appear below.<br /><br />"; echo $error."<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } // validation expected data exists if(!isset($_POST['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['comments'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $first_name = $_POST['first_name']; // required $last_name = $_POST['last_name']; // required $email_from = $_POST['email']; // required $comments = $_POST['comments']; // required $error_message = ""; $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$email_from)) { $error_message .= 'Zadaná emailová adresa není správná.<br />'; } $string_exp = "/^[A-Za-z .'-]+$/"; if(!preg_match($string_exp,$first_name)) { $error_message .= 'Napište prosím své jméno.<br />'; } if(!preg_match($string_exp,$last_name)) { $error_message .= 'Napište prosím své příjmení.<br />'; } if(strlen($comments) < 2) { $error_message .= 'Musíte vyplnit položku Zpráva.<br />'; } if(strlen($error_message) > 0) { died($error_message); } $email_message = "Detaily o zájemci:\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } $email_message .= "Jméno: ".clean_string($first_name)."\n"; $email_message .= "Příjmení: ".clean_string($last_name)."\n"; $email_message .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Zpráva: ".clean_string($comments)."\n"; // create email headers $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> <!-- place your own success html below --> Děkujeme za Váš zájem! Na Vaši zprávu odpovíme do 2 pracovních dnů. <?php } die(); ?> |
||
Micruss Profil |
#2 · Zasláno: 11. 8. 2013, 16:06:50
Musíte upravit regex...
$string_exp = "/^[A-Za-z .'-]+$/"; Musíte ale vypsat všecky háčky a čárky např. ěščřžýáíé (samozřejmě i velkým písmem) ;-) |
||
vodys Profil * |
#3 · Zasláno: 11. 8. 2013, 16:20:19
Mohl bych Vás poprosit o jeho úpravu? hledal jsem na internetu a nevím, jak to správně přidat .. :/
Případně děkuju |
||
Micruss Profil |
$string_exp = "/^[A-Za-zěščřžýáíéĚŠČŘŽÝÁÍ .'-]+$/"; ale vrtá mi hlavou proč máte v tomto povolený tečku,apostrof a pomlčku ještě doplním že se tam dá přidat i další jako (ňŇúÚ) ale to už nechám na vás |
||
vodys Profil * |
#5 · Zasláno: 11. 8. 2013, 16:29:22
Děkuji moc .. :))
Apostrof a pomlčku oddělám, netuším k čemu tam byly :) |
||
Tori Profil |
#6 · Zasláno: 13. 8. 2013, 20:11:09
Micruss:
„vrtá mi hlavou proč máte v tomto povolený tečku,apostrof a pomlčku“ Je to jméno, ne? O'Toole, iniciála místo (druhého) jména, Jean-Paul... Bych to tam nechala. |
||
Časová prodleva: 12 let
|
0