Foros del Web » Programando para Internet » PHP »

Al mandar un 'textarea' por mail no me hace los saltos de linea

Estas en el tema de Al mandar un 'textarea' por mail no me hace los saltos de linea en el foro de PHP en Foros del Web. Hola a todos, cuando mando el contenido de un textarea por mail desde un formulario, el contenido de este textarea no me lo incluye bien, ...
  #1 (permalink)  
Antiguo 19/12/2007, 10:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Al mandar un 'textarea' por mail no me hace los saltos de linea

Hola a todos,

cuando mando el contenido de un textarea por mail desde un formulario, el contenido de este textarea no me lo incluye bien, ya que me pone todo el texto seguido, sin los saltos de linea.

Como puedo solucionar esto?

Este es el codigo:

<?php
//DESDE AQUI EL ENVIO DEL MAIL
if(@isset($_POST['submit'])) {
// require fields...look at the hidden field to change what's required
$required_fields = explode(",", $_POST['required']);

$error = 0;

foreach($required_fields as $fieldname) {
if ($_POST[$fieldname] == "") {
$error++;
}
}


if ($error == 0) {
if (strstr($_POST['to'], "@") and strstr($_POST['to'], ".")) {
if (strstr($_POST['from'], "@") and strstr($_POST['from'], ".")) {
// headers to be included in email
$headers .= "MIME-Version: 1.0\n";
// html header (delete the following row if you do not want html to show)
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// from header
$headers .= "From: $_POST[name] <$_POST[from]>";
// mail function
mail("$_POST[to]" , "$_POST[subject]", $_POST[message]." ahora salto de linea <br>".$_POST[archivo], $headers);

// success message
// if you receive a php error, make sure your server is set up to send email
print "<b><font size=2>Your email has been sent to $_POST[to] from $_POST[from]</font></b>";
exit;

}
} else {
$errormessage = "<b><font color=red>The email address you entered does not appear to be valid.</font><br></b>";
}


} else {
$errormessage = "<b><font color=red>You have left some required fields in the form blank. Please fill in the form completely.</font><br></b>";
}
}
//HASTA AQUI EL ENVIO DEL MAIL
?>

<form action="<? PHP_SELF; ?>" method="POST">
<? echo "$errormessage"; ?>
<p><font color="#FF0000">Everything is required. </font></p>
<p><font color="#000000">To: </font>
<font color="#000000">
<input name="to" type="text" id="to" size="30">
</font></p>
<p><font color="#000000">From (email): </font>
<font color="#000000">
<input name="from" type="text" id="from" size="30">
</font></p>
<p><font color="#000000">From (name):
<input name="name" type="text" id="name" size="30">
</font></p>
<p><font color="#000000">Subject
<input name="subject" type="text" id="subject" size="30">
</font></p>
<p><font color="#000000">Message <br>
HTML code is turned on.
<br>
<textarea name="message" cols="40" rows="6" id="message"></textarea>
</font></p>
<p>
<font color="#000000">
<input type="submit" value="Submit" name="submit">
</font> </p>
<input type="hidden" name="required" value="to,from,name,subject,message">
File: URL<input type="text" name="archivo" value="http://www.matildecanozaragoza.es/cms/archivos/ficheros/<?php echo $_SESSION["ruta"] ?>">
</form>
  #2 (permalink)  
Antiguo 19/12/2007, 10:22
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Al mandar un 'textarea' por mail no me hace los saltos de linea

Usando nl2br() en $_POST['message'].
__________________
Sin Ideas
  #3 (permalink)  
Antiguo 19/12/2007, 10:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Al mandar un 'textarea' por mail no me hace los saltos de linea

Ya que lo estas enviando como html, usa nl2br en tu variable que viene desde POST para convertir los saltos de linea en <br />

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:30.