Enter ( <br> \n ) probleempje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Matthijs

Matthijs

08/01/2005 14:22:00
Quote Anchor link
Hey mensen,

Ik zit met een klein probleempje.
Ik wil een mailtje verzenden naar alle adressen in mijn database, dit is ook geen probleem, alleen hij verwerkt de enters niet van het formulier.

Eerst probeerde ik nl2br() maar dit lost het niet op.
in een mail gebruikt hij \n 's, dus moet je nl2br() niet gebruiken zowiezo.

Dit is de code voor het versturen van de mail.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$sql_3
= mysql_query("SELECT * FROM tabel");
while($res_3 = mysql_fetch_array($sql_3)){
    
//mail verzenden
$recipient = $res_3["email"];
$subject = $_POST["v_onderwerp"];
$header = "From: Dragonscage.nl <[email protected]>\r\n";
$mail_body = "" . $_POST["v_bericht"] . "";
$mail_body .= "\n\n =---------- Automatisch bericht: Reply niet mogelijk ----------= \n";
if(mail($recipient, $subject, $mail_body, $header)){
$mail_verstuurd = "De mail is verstuurd";
}
else {
$mail_verstuurd = "Fout ! Mail niet verstuurd";
}}

echo $mail_verstuurd;
?>


Hoe moet ik dit oplossen ? :S
Ik had bij de PHP nl2br() Tutorial gekeken,
en daar vertelde BoaZ dat hij standaard \n er neerzet, en nl2br() ze omzet naar <br>.
Logisch, maar ook met \n 's doet ie het niet !

Alvast bedankt !
Matthijs
Gewijzigd op 08/01/2005 14:23:00 door Matthijs
 
PHP hulp

PHP hulp

14/11/2024 18:20:26
 
John de Boer

John de Boer

08/01/2005 14:26:00
Quote Anchor link
Heb je al geprobeerd te 'escapen' met een backslash (\)?

EDIT:
of het gebruik van enkele quotes (')?
Gewijzigd op 08/01/2005 14:27:00 door John de Boer
 
Matthijs

Matthijs

08/01/2005 14:35:00
Quote Anchor link
Het gebruik van enkele quotes heb ik geprobeerd.

Geprobeerd te escapen met een backslash?
bedoel je na elke zin in het formulier?

heb namelijk wel in het formulier handmatig (\n) 's
proberen neer te zetten, maar werkt ook niet.
 

08/01/2005 14:42:00
Quote Anchor link
het werkt alleen met \r\n moet je wel doen dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$sql_3
= mysql_query("SELECT * FROM tabel");
while($res_3 = mysql_fetch_array($sql_3)){
    
//mail verzenden
$recipient = $res_3["email"];
$subject = $_POST["v_onderwerp"];
$header = "From: Dragonscage.nl <[email protected]>\r\n";
$mail_body = nl2br($_POST["v_bericht"]);
$mail_body .= "\r\n\r\n=---------- Automatisch bericht: Reply niet mogelijk ----------= \r\n";
if(mail($recipient, $subject, $mail_body, $header)){
$mail_verstuurd = "De mail is verstuurd";
}
else {
$mail_verstuurd = "Fout ! Mail niet verstuurd";
}}

echo $mail_verstuurd;
?>


zoiets iig
 
Jorik

Jorik

08/01/2005 14:46:00
Quote Anchor link
mss moet je de nl2br($_POST['v_bericht']) eens weghalne?.. en dan alleen de $_POST plaatsen :P?..

enne, zo vaak achterelkaar mail, is niet verstandig hoor :P
 
Matthijs

Matthijs

08/01/2005 14:56:00
Quote Anchor link
ik had ook geen nl2br($_POST['v_bericht']) gebruikt. dat gaf al problemen.

Met \r\n .... lukt ook niet.
De \n's ziet hij wel he?
in :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$mail_body
.= "\n\n=---------- Automatisch bericht: Reply niet mogelijk ----------= \n";  
?>


maar in het bericht niet :(
 
John de Boer

John de Boer

08/01/2005 15:54:00
Quote Anchor link
Matthijs:
Geprobeerd te escapen met een backslash?
bedoel je na elke zin in het formulier?


escapen met een backslash, zou dan zo zijn:
\\n
dus elke \n die je tussen dubbele quotes gebruikt vervangen door \\n
Gewijzigd op 08/01/2005 15:55:00 door John de Boer
 
Matthijs

Matthijs

08/01/2005 16:48:00
Quote Anchor link
John:
escapen met een backslash, zou dan zo zijn:
\\n
dus elke \n die je tussen dubbele quotes gebruikt vervangen door \\n


De \n in de volgende code ( als test ) :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$mail_body
.= "\n\n=---------- Automatisch bericht: Reply niet mogelijk ----------= \n";  
?>


Doet het wel, en geeft keurig netjes een enter af in mijn e-mail programma.

Als ik die vervang naar \\n dan krijg ik deze ook te zien in mijn e-mail.
maar wat ik dan niet snap, is waarom het niet werkt als ik handmatig een \n ( of een \r\n ) invoeg in het formulier.
Ik heb er geen strip_tags() of stripslashes() inzitten :S

EDIT :
Of zou ik die op een andere manier moeten gebruiken? Ik ken dat namelijk niet
Gewijzigd op 08/01/2005 16:50:00 door Matthijs
 
Arend a

Arend a

08/01/2005 17:02:00
Quote Anchor link
nl2br is enkel nuttig wanneer je html emails verstuurd. Emails in plaintekst moeten deze niet hebben. Een mailclient kan hierdoor de mail aanzien als html, en in html worden harde enters niet verwerkt.

Met welke mailclient bekijk je ze? En zitten de enters wel in de berichtbron?
 
Matthijs

Matthijs

08/01/2005 18:33:00
Quote Anchor link
Ik bekijk de mail met MS Outlook,
met als berichtindeling HTML.
 
Matthijs

Matthijs

08/01/2005 18:37:00
Quote Anchor link
Hmm ja, ik heb ff mijn mail is bekeken met webmail, en ja hoor, daar doet hij het wel..

kun je zo'n bericht ook HTML maken?
Want de meeste ontvanger van mijn mailinglijst gebruiken Outlook.. :S
Gewijzigd op 08/01/2005 19:36:00 door Matthijs
 
Matthijs

Matthijs

08/01/2005 19:37:00
Quote Anchor link
Oke, eerst zoeken , dan vragen.
heb oplossing (bijna) gevonden door de volgende regels erin te stoppen :

$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";

Alleen het vage is. Bij mijn ene e-mail adres pakt ie hem wel, op mijn andere niet ! en pleurt ie alles weer achter elkaar. Terwijl mijn e-mail programma op HTML is ingesteld :S

Iemand enig idee hoe dit kan???
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.