15. august 2007 - 16:40
Der er
6 kommentarer
Kontakt formular.
Her derude. Jeg har en kontaktformular der fungere ualmindelig fint. med validering og det hele. Problemet: Når man sender en mail fra den kan modtageren af mailen ikke se Æ,Ø & Å.. den skriver ubyldige tegn i stedet.. så som & Tegnet. Nogen der har erfaringer med hvor problemet kan ligge ?
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
15. august 2007 - 16:51
#1
Kan vi se koden, du bruger til at sende med?
15. august 2007 - 17:29
#2
selvfølgelig <?php if(isset($_POST["send"])) { function isValidEmail($address) { $address = trim($address); list(,$host) = split('@',$address); if (!preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+' . // username '@' . // 'at' '([-0-9A-Z]+\.)+' . // domain name(s) '([0-9A-Z]){1,6}\.?$/i', // tld $address)) { // Return true if it's an IP return preg_match( "/^\[(\d{1,3}\.){3}\d{1,3}\]$/", $host ); } $host .= '.'; // DNS style address return (getmxrr($host,$mxrecords) || checkdnsrr($host,'ANY')); } if (empty($_POST["navn"]) ) { $message1 = "Du mangler at udfylde dit navn"; } elseif (is_numeric($_POST["navn"]) ) { $message1 = "Dit navn kan ikke indholde tal"; } elseif (empty($_POST["email"]) ) { $message2 = "Du mangler at indtaste din email"; } elseif (!isValidEmail($_POST["email"]) ) { $message2 = "Din email er ik korrekt indtastet prøv igen"; } elseif (empty($_POST["emne"]) ) { $message3 = "Du mangler at skrive et emne"; } elseif (is_numeric($_POST["emne"]) ) { $message3 = "Dit emne kan ikke indholde tal"; } elseif (empty($_POST["besked"]) ) { $message4 = "Du mangler at skrive en besked"; } else { $navn = htmlentities($_POST["navn"]); $emne = htmlentities($_POST["emne"]); $besked = htmlentities($_POST["besked"]); $besked .= nl2br($besked); mail("Din@mail.dk", "dinhjemmeside.dk :: " . $emne, $besked, "From: dinhjemmeside.dk :: " . $navn . "<" . $_POST["email"] . ">"); $SlutBesked = "Din email er nu afsendt, og vi vil svare hurtigst muligt"; } } ?>
15. august 2007 - 17:41
#3
Sætter du et charset med HTML og PHP? Muligvis skal du også definere charset i forbindelse med mailen. Det ved jeg, man af og til skal i ASP med bl.a. den komponent, der hedder JMail.
15. august 2007 - 19:37
#4
prøvet med: $replace[] = '/æ/'; $replace[] = '/ø/'; $replace[] = '/å/'; $with[] = 'æ'; $with[] = 'ø'; $with[] = 'å'; $besked = preg_replace( $replace, $with, $_POST['besked'] ); ???
15. august 2007 - 20:06
#5
zurekk: Hvor i koden skal jeg smide det ind ?
15. august 2007 - 23:07
#6
Hvor som helst. $navn = htmlentities($_POST["navn"]); $emne = htmlentities($_POST["emne"]); $replace[] = '/æ/'; $with[] = 'æ'; $replace[] = '/ø/'; $with[] = 'ø'; $replace[] = '/å/'; $with[] = 'å'; $besked = preg_replace( $replace, $with, $_POST['besked'] ); $besked = htmlentities($besked); $besked .= nl2br($besked); Er dog ikke sikker på det virker. Hvis ikke, så prøver at fjern din mail(), og udskriver $_POST['besked'] istedet, i toppen af filen, og så fortæl hvad den gør med æ ø å, så er det lidt lettere at løse :)
Vi tilbyder markedets bedste kurser inden for webudvikling