FAQ |
Kalender |
2011-04-27, 15:41 | #1 | ||
|
|||
Nykomling
|
Hej.
Jag försöker få mitt kontaktformulär att fungera. När en användare gjort en ny rad i textrutan så blir meddelandet i mejlet som skickas iväg "\r\n" istället för nya rader. Exempel: Hej. Jag heter Karl Karlsson och bor i Karlstad. Jag gillar päron Mvh Resultat: Hej.\r\nJag heter Karl Karlsson och bor i Karlstad.\r\nJag gillar päron\r\nMvh #Server Webbhotell: Binero Plattform: LINUX PHP v.: 5.2.14 #Header $header = 'Content-Type: text/html; charset="UTF-8"' . "\r\n"; $header .= 'MIME-Version: 1.0' . "\r\n"; $heades .= 'X-Mailer: PHP/".phpversion() . "\r\n"; $header .= 'From: Mail Inbox <[email protected]>' . "\r\n"; $headers .= 'Cc: Vatten Melon <[email protected]>' . "\r\n"; #Message $message = preg_replace("#(?<!\r)\n#si", "\r\n", $_POST['msg']); Kan ni se något som ska ändras, tas bort eller läggas till? Tacksam för svar! |
||
Svara med citat |
2011-04-27, 16:23 | #2 | ||
|
|||
Banned
|
Om du ersätter \r\n med PHP konstanten: PHP_EOL istället?
Annars verkar det som att du kör: Kod:
echo '\r\n'; Kod:
echo "\r\n"; Däremot tycker jag att du ska skrota det "manuella" kodandet och köra med phpMailer (http://phpmailer.worxware.com/) istället. Den funkar out-of-the-box. Senast redigerad av hnn den 2011-04-27 klockan 16:25 |
||
Svara med citat |
2011-04-28, 10:47 | #3 | ||
|
|||
Nykomling
|
Citat:
|
||
Svara med citat |
2011-04-28, 10:59 | #4 | ||
|
|||
Nykomling
|
Jag löste det genom denna funktion:
'str_replace('\r\n', '<br />', $_POST['msg']); Tack för alla svar! |
||
Svara med citat |
2011-04-28, 13:43 | #5 | |||
|
||||
Har WN som tidsfördriv
|
Finns en färdig sådan funktion i PHP.. nl2br()
|
|||
Svara med citat |
2011-04-28, 14:07 | #6 | ||
|
|||
Banned
|
|||
Svara med citat |
2011-04-28, 15:19 | #7 | |||
|
||||
Har WN som tidsfördriv
|
Eftersom "\n\r" (med just ") är just chr(10) & chr(13) så kommer nl2br fungera i hans exempel.
Enligt den koden han använder; $message = preg_replace("#(?<!\r)\n#si", "\r\n", $_POST['msg']); |
|||
Svara med citat |
2011-04-28, 15:21 | #8 | ||
|
|||
Banned
|
|||
Svara med citat |
2011-04-28, 15:27 | #9 | |||
|
||||
Har WN som tidsfördriv
|
Antagligen pga. han skickar mailet som HTML, och som du kanske vet så syns inte \r\n i HTML (om man inte visar källkod)
Nåväl, TS har löst det (på enligt mig - fel sätt) någonstans i hans kod blir det tokigt med radbrytningen - problemet borde lösas genom att rätta till det så (om det nu inte går) han använder nl2br() istället. |
|||
Svara med citat |
2011-04-28, 15:34 | #10 | ||
|
|||
Banned
|
Citat:
rätt sätt hade ju varit: $string = str_replace(array('\r\n', '\n\r'), "\r\n", $var); $string = nl2br($string) |
||
Svara med citat |
Svara |
|
|