Avatar billede -kenner- Nybegynder
15. januar 2008 - 21:43 Der er 6 kommentarer og
1 løsning

anførselstagn bliver til backslash-anførselstagn uden htmlentties

Hej eksperter,

Når jeg vil sende en email ud til mine brugere, så bliver " til \", men jeg kan sagtens bruge html og har kigget koden igennem så mange gange at jeg simpelthen ikke aner hvor den backslash kommer fra. jeg har prøvet at tilføje str_replace('"', '\"', $_POST['Besked']), men lige lidt hjælper det.

Jeg sender med denne funktion:

sendmail($reciever, $_POST['Emne'], $_POST['Besked']);

Selve funktionen ser sådan her ud:

function sendmail($Modtager, $Emne, $Besked){
$headers  = "MIME-Version: 1.0\n";
  $headers .= "Content-type: text/html; charset=iso-8859-1\n";
  $headers .= "X-Priority: 1\n";
  $headers .= "X-MSMail-Priority: High\n";
  $headers .= "X-Mailer: php\n";
  $headers .= "Bcc: $Modtager\n";
  $headers .= "From: \"Chosun.dk\" <info@chosun.dk>\n";
 
  $Besked = '<html>
<head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
        <title>Chosun.dk - Nyhedsbrev</title>
        <style type="text/css">

.design{border: 1px solid black;}
.header{
text-align: left;
background: #333333;   
font: normal 18px verdana, arial, tahoma, sans-serif;
color: #FFFFFF;   
}

.body{
background: #FFFFFF;   
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #000000;   
}

.footer{
text-align: center;
background: #333333;   
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FFFFFF;   
}

.footer a{
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FF6600;
text-decoration:none;
}

.footer a:visited{
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FF6600;
text-decoration:none;
}

.footer a:hover{
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FF6600;
text-decoration:underline;
}

a{
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FF6600;
text-decoration:none;
}

a:visited{
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FF6600;
text-decoration:none;
}

a:hover{
font: normal 11px verdana, arial, tahoma, sans-serif;
color: #FF6600;
text-decoration:underline;
}
        </style>
    </head>

    <body bgcolor="#ffffff">
        <div align="center">
        <table width="714" cellpadding="0" cellspacing="0" class="design">
            <tr><td height="114" width="714"><img src="http://chosun.dk/images/banner.jpg"></td></tr>
                <tr><td class="header"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="5"></td><td class="header">'.$Emne.' - '.dato(time()).'</td><td width="5"></td></tr></table></td></tr>
                <tr><td class="body"><br><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="5"></td><td class="body">'.nl2br($Besked).'<br><br>Mvh. Chosun.dk<br><br></td><td width="5"></td></tr></table></td></tr>
            <tr><td class="footer" height="20">&copy <a href="http://www.chosun.dk" target="_blank">Chosun.dk</a> - Kontakt os på <a href="mailto:info@chosun.dk">info@chosun.dk</a>, hvis du ønsker at framelde dig denne service!</td></tr>
        </table>
        </div>
    </body>

</html>';
 
 
  if(@mail("", $Emne, $Besked, $headers))
{
return true;
}else{
return false;
    }
   
}
Avatar billede erikjacobsen Ekspert
15. januar 2008 - 22:00 #1
Den backslash sætter PHP selv (det kan slås fra). Men nemmest at du bare bruger http://php.net/stripslashes på de felter du sender ud med din email.
Avatar billede erikjacobsen Ekspert
15. januar 2008 - 22:01 #2
Dvs:

sendmail($reciever, stripslashes($_POST['Emne']), stripslashes($_POST['Besked']));
Avatar billede -kenner- Nybegynder
15. januar 2008 - 22:10 #3
kan jeg ikke smide det inde i funktionen, så det gælder alle de steder jeg bruger den?
Avatar billede erikjacobsen Ekspert
15. januar 2008 - 22:16 #4
Det kommer jo an på hvor dine tekster kommer fra - henter du dem fx fra en database, så er der ikke \-ere foran. Det er bedre som jeg viste - synes jeg.
Avatar billede -kenner- Nybegynder
15. januar 2008 - 22:20 #5
så gør vi det sådan, jeg tester det lige, så kan du smide et svar i mens..
Avatar billede erikjacobsen Ekspert
15. januar 2008 - 22:30 #6
Jeg samler slet ikke på point, tak.
Avatar billede -kenner- Nybegynder
15. januar 2008 - 22:49 #7
okay. Det virker perfekt, tusind tak:)
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