Avatar billede Fiber Bjørn Juniormester
19. juli 2010 - 00:45 Der er 20 kommentarer og
1 løsning

Linie skift med nl2br i mail

Hej.

Jeg kan ikke få denne funktion til at udskrive en mail hvor nl2br laver linje skift. Er der en anden måde at gøre det på end den jeg prøver her? Jeg ville gerne have det sådan at de linje skift jeg laver i teksten også udskrives i mailen.

Denne virker fint nok når den bare skal vises på en hjemmeside.
<div> <? echo nl2br("<span class='main_sub_title'>$_POST[titel] skrevet af $mail_ud d. $_POST[dato]</span>");?></div>

Jeg har lavet problem stedet med fed skrift.
Håber nogle kan hjælpe.

if ($_POST['email'] == ''){
            $mail_ud = "<span class='m'>$_POST[navn]</span>";
        } else {
            $mail_ud = "<a href=\"mailto:". $_POST['email'] ."\">$_POST[navn]</a>";
        }
       
mail("info@dgisydvestgymnastik.dk", "Nyt indlæg i Intern Info", "
<style>
.main_title             {
    font-size:18px;
    font-family:Verdana, Geneva, sans-serif;
    color:#5F5858;
}
                       
.main_sub_title         {
    font-family:Verdana, Geneva, sans-serif;
    font-size:14px;
    color:#333;
}
.main_sub_title_org         {
    font-family:Verdana, Geneva, sans-serif;
    font-size:14px;
    color:#e18f00;
}

.main_tekst             {
    font-family:Verdana, Geneva, sans-serif;
    font-size:11px;
    color:#666;
}
.main_tekst_org             {
    font-family:Verdana, Geneva, sans-serif;
    font-size:11px;
    color:#e18f00;
}

a:link { color: #e77301; text-decoration: underline;}

a:active { color:#e77301; text-decoration: underline:}

a:visited { color:#e77301; text-decoration: underline;}

a:hover  { color: #000000; text-decoration: none;}

</style>
<link href='../style.css' rel='stylesheet' type='text/css' />
<div><span class='main_title'>DGI Sydvest Gymnastik<br /></span></div>
<div><span class='main_sub_title_org'>Mail fra Intern Info<br /></span></div>
<div><span class='main_sub_title'>$_POST[titel] skrevet af $mail_ud d. $_POST[dato]</span></div>
<div><? echo nl2br('<span class='main_tekst'>$_POST[tekst]</span>');?></div>

", "From:DGI Sydvest Gymnastik - {$_SESSION['hold']} <steffenbloch@dgisydvestgymnastik.dk>\nReply-to: info@dgisydvestgymnastik.dk\nContent-type: text/html; charset=iso-8859-1");
}}
Avatar billede majbom Novice
19. juli 2010 - 07:49 #1
prøv at ret linjen til:

<div><? echo nl2br("<span class='main_tekst'>".$_POST['tekst']."</span>");?></div>
Avatar billede Fiber Bjørn Juniormester
20. juli 2010 - 00:35 #2
nej den udskriver stadig ikke teksten.

men denne udskriver den godt nok men self. uden linje skift.

<div><span class='main_tekst'>$_POST[tekst]</span></div>
Avatar billede majbom Novice
20. juli 2010 - 08:34 #3
hmm, underligt, prøv lige med:

<div><span class='main_tekst'><?php echo nl2br($_POST['tekst']);?></span></div>
Avatar billede Fiber Bjørn Juniormester
21. juli 2010 - 00:06 #4
det var da godt nok pokkers :) Det virker stadig ikke....

Den udskriver intet i $_POST[tekst]
Avatar billede majbom Novice
21. juli 2010 - 06:58 #5
og der er noget i $_POST['tekst']?

den hedder ikke text, eller noget tredje?
Avatar billede Fiber Bjørn Juniormester
22. juli 2010 - 23:11 #6
hvis det skrives sådan

<div><span class='main_tekst'>$_POST[tekst]</span></div>

vises det TEKST godt nok
så det er ikke det der er galt.

kan det være fordi at mailen udskrives som html ????

Content-type: text/html; charset=iso-8859-1
Avatar billede majbom Novice
23. juli 2010 - 09:41 #7
kan du ikke smide hele koden på pastebin? har lidt svært ved lige at gennemskue det...
Avatar billede Fiber Bjørn Juniormester
28. juli 2010 - 15:13 #8
http://pastebin.com/8yN5MR71

her skulle det hele vist være.
i hvert fald det der høre til dette med mail :)
Avatar billede majbom Novice
28. juli 2010 - 15:49 #9
jeg går ud fra at dit problem er at den skriver $_POST['tekst'] i stedet for indholdet af variablen?

men forstår ikke hvis det ikke virker når du retter linjen til:

<div><span class='main_tekst'><?php echo $_POST['tekst'];?></span></div>
Avatar billede Fiber Bjørn Juniormester
28. juli 2010 - 16:08 #10
Lige nu har jeg det til at stå sådan 

<div><span class='main_title'>DGI Sydvest Gymnastik<br /></span></div>
<div><span class='main_sub_title_org'>Mail fra Intern Info<br /></span></div>
<div><span class='main_sub_title'>$_POST[titel] skrevet af $mail_ud d. $date</span></div>
<div><span class='main_tekst'>$_POST[tekst]</span></div>

og det virker fint - sådan ser mailen ud

DGI Sydvest Gymnastik
Mail fra Intern Info
EMNE skrevet af NAVN d. 28-07-2010 14:02
1 linje 2 linje 3 linje


men skrives det sådan her for at få de linieskift i mailen
<div><? echo nl2br('<span class='main_tekst'>$_POST[tekst]</span>');?></div>

ser mailen sådan ud

DGI Sydvest Gymnastik
Mail fra Intern Info
EMNE skrevet af NAVN d. 28-07-2010 14:06


Jeg ville gerne have det til at se sådan ud:

DGI Sydvest Gymnastik
Mail fra Intern Info
EMNE skrevet af NAVN d. 28-07-2010 14:02
1 linje
2 linje
3 linje
Avatar billede majbom Novice
28. juli 2010 - 16:25 #11
kan du ikke bruge koden fra mit sidste indlæg?
Avatar billede Fiber Bjørn Juniormester
28. juli 2010 - 16:37 #12
der kommer ingen tekst

<div><span class='main_tekst'><?php echo $_POST[tekst];?></span></div>

men retter den også til dette fordi Dreamweaver brokker sig over når det er sådan $_POST['tekst']
Avatar billede majbom Novice
28. juli 2010 - 16:49 #13
okay, hvor gammel er din dreamweaver? (ikke fordi jeg ved om den gør det anderledes i en nyere version, men det er da en fejl!)

du bør bruge ' rundt om, da serveren ellers vil tolke 'tekst' som en konstant, men den kan selvfølgelig ikke finde den konstant, da den ikke findes og først derefter regner den 'tekst' for en streng.

hvad sker der hvis du skriver print_r($_POST); ?
Avatar billede Fiber Bjørn Juniormester
28. juli 2010 - 17:02 #14
<div><span class='main_tekst'>print_r($_POST);</span></div>

=

DGI Sydvest Gymnastik
Mail fra Intern Info
ghjgh skrevet af ghjhg d. 28-07-2010 16:01
print_r(Array);
Avatar billede majbom Novice
28. juli 2010 - 18:47 #15
aah, nu fik jeg lige kigget ordentlig på din kode :)

prøv at ret linjen til:

<div><span class='main_tekst'>".$_POST['tekst']."</span></div>
Avatar billede majbom Novice
28. juli 2010 - 18:47 #16
og det skulle selvfølgelig være:

<div><span class='main_tekst'>".nl2br($_POST['tekst'])."</span></div>
Avatar billede Fiber Bjørn Juniormester
28. juli 2010 - 19:05 #17
sådan, nu virker det :)

jeg fandt også selv ud af at det også kunne lade sig gøre på denne måde

$tekst1 = nl2br($_POST['tekst']);

<div><span class='main_tekst'>$tekst1</span></div>

total fedt at det virker. Smid et svar.
Avatar billede majbom Novice
28. juli 2010 - 19:26 #18
kommer her :)
Avatar billede Fiber Bjørn Juniormester
28. juli 2010 - 20:06 #19
Prøv en gang mere. jeg tror ikke du har fået klikket svar af :)
Avatar billede majbom Novice
28. juli 2010 - 20:19 #20
hovsa :)
Avatar billede majbom Novice
29. juli 2010 - 07:03 #21
takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester