17. november 2009 - 12:32
Der er
7 kommentarer og 1 løsning
PHP mail, udskriver html tags
Hej jeg har et problem, jeg har lavet et mail system som skal udsende nyhedsbreve, men problemet er at den udskriver html tags i emailen istedet for at gøre teksten fed osv. her er min kode: 1. $msg = $_POST['msg']; 2. $overskrift = $_POST['overskrift']; 3. $kategori = $_POST['kategori']; 4. htmlspecialchars($msg); 5. htmlspecialchars($overskrift); 6. htmlspecialchars($kategori); 7. 8. 9. $query = mysql_query("SELECT * FROM nyhedsbrev WHERE kategori = '$kategori'") or die(mysql_error()); 10. 11. $i = 0; 12. 13. while($data = mysql_fetch_array($query)) 14. 15. { 16. 17. if($i != 0) 18. $to .= ','; 19. $to .= $data["email"]; 20. $i++; 21. 22. } 23. 24. 25. #$headers = "MIME-Version: 1.0\r\n"; 26. //$headers 27. //Standard for mails - optional 28. //Nødvendigt for, at angive afsenderen. 29. 30. #$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Angiver at mailens indhold er i HTML-format 31. 32. #$headers .= $from ."\r\n"; //Sætter afsender i mailens header 33. 34. 35. $from = "firma navn"; 36. $subject = $overskrift; 37. $message = $msg; 38. 39. 40. 41. mail($to, $subject, $message, $headers);
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
17. november 2009 - 12:35
#1
uden tal, og så rettet en smule i den, men virker stadig ikke i mail klienter men gmail virker fint og hotmail.com mail altså når det er via browseren viser den fed skrift osv. som den skal men ikke i mail programmer som outlook og windows live mail $msg = $_POST['msg']; $overskrift = $_POST['overskrift']; $kategori = $_POST['kategori']; $query = mysql_query("SELECT * FROM nyhedsbrev WHERE kategori = '$kategori'") or die(mysql_error()); $i = 0; while($data = mysql_fetch_array($query)) { if($i != 0) $to .= ','; $to .= $data["email"]; $i++; } $headers = "MIME-Version: 1.0\r\n"; //$headers //Standard for mails - optional //Nødvendigt for, at angive afsenderen. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Angiver at mailens indhold er i HTML-format $headers .= $from ."\r\n"; //Sætter afsender i mailens header $from = "firma navn"; $subject = $overskrift; $message = $msg; mail($to, $subject, $message, $headers);
17. november 2009 - 13:11
#2
Mon ikke du skal dekode teksten i databasen - altså noget med: $message = html_entity_decode($msg, ENT_QUOTES); Det kommer selvfølgelig an på hvad du har gjort, da du gemte det i databsen - det kan jeg ikke se.
17. november 2009 - 13:31
#3
det bliver ikke gemt i min database, men har lige prøvet at gemme det og den gemmer det sådan her <p>bla bla bla heheheh<br /><br /><br /><strong>fgfgdfgdf</strong></p> <p> </p> <p> </p> <p><span style="font-size: large;">fgfdgdgdfgdf</span></p> <h1>fgfgfg</h1> bruger tinyMCE som editor, kan lige prøve din kode
17. november 2009 - 13:52
#4
Nej, det forstår jeg. Kan du ikke checke om fx "<" er blevet til "<". I så fald vil mit forslag måske hjælpe alligevel.
17. november 2009 - 14:51
#5
det ser bare sådan her ud <p>twtwte</p> <p><br /><strong>asdasdasd</strong><br /><br /></p> <h1>asdsadasdas</h1> <p> </p> og min kode nu: $msg = $_POST['msg']; $overskrift = $_POST['overskrift']; $kategori = $_POST['kategori']; $message = html_entity_decode($msg, ENT_QUOTES); print_r($message); mysql_query("insert into mail_test (msg) VALUES ('$message')"); $query = mysql_query("SELECT * FROM nyhedsbrev WHERE kategori = '$kategori'") or die(mysql_error()); $i = 0; while($data = mysql_fetch_array($query)) { if($i != 0) $to .= ','; $to .= $data["email"]; $i++; } $headers = "MIME-Version: 1.0\r\n"; //$headers //Standard for mails - optional //Nødvendigt for, at angive afsenderen. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Angiver at mailens indhold er i HTML-format $from = "firma"; $headers .= $from ."\r\n"; //Sætter afsender i mailens header $subject = $overskrift; $message = $msg; mail($to, $subject, $message, $headers);
25. december 2009 - 22:30
#6
smid svar en af jer
Vi tilbyder markedets bedste kurser inden for webudvikling