09. september 2003 - 18:00
Der er
23 kommentarer og 4 løsninger
Medtage mellemrum i mail.
Hej der... Har brug for hurtig hjælp... :o) Jeg sender en mail via PHP, og mit besked felt, er <textarea>.... Hvis der er linieskift i feltet, sender den slet ikke mailen - men uden gør den... Hvordan for jeg den til at sende linieskift med? hilsen Conrad
Annonceindlæg fra HP
09. september 2003 - 18:03
#1
Hvis du er PHP proof (hvilket jeg ikke er) men jeg ved noget om det.. Så skal du bruge en $replace (hvilket hvis du er phpproof ved alt om ;))
09. september 2003 - 18:05
#2
nl2br($dintekst);
09. september 2003 - 18:08
#3
den samme funktion med makmans hentydninger er str_replace("/n", "<br>", $dintekst); men brug nl2br - den er ment for det ;)
09. september 2003 - 18:13
#4
nl2br - hjælper ikke...
09. september 2003 - 18:15
#5
<textarea cols="50" rows="10" name="tekst"> </tekstarea> og når du sender den i formen og modtager: $nytekst = nl2br($_POST['tekst']); og så skal du sende $nytekst .... det burde virke ;)
09. september 2003 - 18:17
#6
hej pørv : $besked = $_POST[besked]; $besked = str_replace("'","'", $besked); $besked = str_replace("'","'", $besked); $besked = str_replace(" "," ", nl2br(htmlentities(addslashes($besked))));
09. september 2003 - 18:22
#7
smooth> Nu modtager jeg mail, men uden tekst - altså en blank mail...
09. september 2003 - 18:23
#8
odni> Gav ingenting...
09. september 2003 - 18:26
#9
Sætter lige lidt flere points på... 30 > 60
09. september 2003 - 18:30
#10
mjl >> Har du husket at udskifte din tekst variabel med $besked ? Kan du ikke smide os din kode, så vi kan se på det. Måske er fejlen et andet sted. Med venlig hilsen Smooth
09. september 2003 - 18:32
#11
Jeg har... mail("navn@domain.dk","$webmaster_kontakt","$ris_ros_besked"); $ris_ros_besked er res. fra <textarea> ...og formen: <form action=index.php method=post> <input type=hidden name=webmaster_kontakt value="Ris_eller_ros"> <textarea name=ris_ros_besked cols="50" rows="10" class=felt></textarea> <br><br> <input type=submit value="Send til webmaster" class=knap> </form>
09. september 2003 - 18:36
#12
mail("navn@domain.dk",$webmaster_kontakt,$ris_ros_besked);
09. september 2003 - 18:38
#13
detox> Nop - desværre...
09. september 2003 - 18:40
#14
prøv med : <? if(!empty($_POST[ris_ros_besked])){ $besked = $_POST[ris_ros_besked]; $besked = $_POST[besked]; $besked = str_replace("'","'", $besked); $besked = str_replace("'","'", $besked); $besked = str_replace(" "," ", nl2br(htmlentities(addslashes($besked)))); mail("navn@domain.dk", Mail fra siden, $besked,); header("Location:index.php"); } ?>
09. september 2003 - 18:41
#15
Så tror jeg ikke dine variabler indeholder det de skal. Prøv at udskrive dem i stedet.
09. september 2003 - 18:43
#16
Hvis mit script ikke kører nu så tror jeg at du skal vise og hele koden og ikke kun en lille del. Vi skal jo se om du ikke lave en fejl et eller anden sted.
09. september 2003 - 18:46
#17
ok... Hvis jeg kun skriver b, så modtager jeg en mail med b i besked-feltet... Skriver jeg b b ...står der intet i feltet - men nu får jeg dog en mail, med dit sidste forslag smooth - før fik jeg ingen mail, hvis jeg lavede linieskift...
09. september 2003 - 18:48
#18
Jeg kan heller ikke lave mellemrum... b b sendes heller ikke...
09. september 2003 - 19:02
#19
Problemet er måske at din form bruger \r\n som newline og ikke alle servere fungerer med det. Det hjælper slet ikke at bruge <br />, da du ikke bruger html. Prøv at udskrive din tekst variabel med: if (isset($_POST['ris_ros_besked'])) { $tekst = $_POST['ris_ros_besked']; for ($i=0;$i<strlen($tekst);$i++) { $bog = substr($tekst,$i,1); echo ord($bog)." "; } } Så vi kan se hvad din form helt præcist sender. Mit forslag er så at udskifte \r\n med \n, som virker på alle servere.
09. september 2003 - 19:05
#20
Ellers vil jeg mene, som smooth, at du må poste hele scriptet. Så det kan tjekkes for slåfejl o.l.
09. september 2003 - 19:39
#21
Mærkeligt... Jeg satte din kode ind, og nu sender den mellemrum, men stadig ikke linieskift... Den echo'er '68 101 116 116 101 32 101 114 32 101 110 32 112 114 248 118 101' på siden, og 'Dette er en prøve' i mailen
09. september 2003 - 19:41
#22
Men prøv med en ny linie.
09. september 2003 - 19:43
#23
...så får jeg: 76 105 110 105 101 32 110 117 109 109 101 114 32 49 13 10 76 105 110 105 101 32 110 117 109 109 101 114 32 50
09. september 2003 - 19:46
#24
Ja, det var det jeg tænkte. 13 10 = \r\n. Prøv at bytte det ud med \n: $besked = $_POST['ris_ros_besked']; $besked = str_replace("\r\n", "\n", $besked);
09. september 2003 - 19:48
#25
HURRA HURRA HURRA HURRA HURRA HURRA..... Læg et svar - du er guld værd - 10.000 tak!!!!
09. september 2003 - 19:51
#26
Velbekommen c",)
09. september 2003 - 19:54
#27
Tak til Jer andre også - jeg hævede til 90 p. og fordelte som ses... Tak for altid fin hjælp - det gør mig skide glad.
Vi tilbyder markedets bedste kurser inden for webudvikling