Foros del Web » Programando para Internet » PHP »

Problema con PHP y tecla de enter.

Estas en el tema de Problema con PHP y tecla de enter. en el foro de PHP en Foros del Web. Hola de nuevo, Tengo un problemilla con un formulario que tengo en HTML el cual hago el post con php así: Código: <form method="post" action="form.php"> ...
  #1 (permalink)  
Antiguo 13/01/2010, 10:26
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 18 años, 3 meses
Puntos: 0
Problema con PHP y tecla de enter.

Hola de nuevo,

Tengo un problemilla con un formulario que tengo en HTML el cual hago el post con php así:
Código:
<form method="post" action="form.php">

Y el form.php es así:

Código PHP:
<?php
$dia
=date("d.m.Y");
$hora=date("H:i:s"); 
$formulario $_POST["formulario"];

$sfrom="[email protected]"//cuenta que envia
$sdestinatario="[email protected]"//cuenta destino
$ssubject="XXX"//subject
$shtml"$dia $hora $formulario"//mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);
Header ("Location: $thank");
?>
Donde $formulario es un Campo de texto de formulario normal html, de la página inicial.

Bien, una vez explicado como lo tengo, el tema es que me manda el correo perfectamente, pero si alguien usa la tecla intro (para cambiar de linea, me refiero), en el Campo de Texto, a mi me llega todo seguido. No me llega con ese salto de linea. Entonces si es un comentario cortito se puede leer medio bien, pero como la persona en cuestión haya usado muchos párrafos, a mi me llega todo seguido. Convierte el salto de línea, en un simple espacio.

No se como solucionarlo...

Alguna idea??

Gracias!
  #2 (permalink)  
Antiguo 13/01/2010, 10:40
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: Problema con PHP y tecla de enter.

creo que tienes que convertir los br creo en \n

en el foro hay varios ejemplos de este mismo problema y la solucion =)
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #3 (permalink)  
Antiguo 13/01/2010, 10:44
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Problema con PHP y tecla de enter.

MMm... Gracias por la respuesta, pero no termino de captarla del todo.

Indicas que tengo que convertir los saltos de línea (<br>) por \n, pero no se exactamente donde. En el php, o en el formulario HMTL? Y como, ¿sabrías decirme?

Gracias por tu tiempo.
  #4 (permalink)  
Antiguo 13/01/2010, 10:46
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: Problema con PHP y tecla de enter.

es que cuando mandas el form fijate que te envia los salto de linea, pero en tu configuracion no le envias no le agregas los header de html al body, bueno eso es lo que veo en lo poco de codigo que tienes
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #5 (permalink)  
Antiguo 13/01/2010, 10:51
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 5 meses
Puntos: 19
Respuesta: Problema con PHP y tecla de enter.

EL problema es el siguiente!... Los saltos de linea dentro de un <textarea> son \n, y eso es texto plano
El mail vos lo estas enviando en formato html!

Entonces lo que tenes que hacer es convertir esos saltos de linea planos a saltos de linea html!

entonces haces lo siguiente

En la linea en que tenes
Código PHP:
Ver original
  1. $formulario = $_POST["formulario"];
lo cambias por lo siguiente

Código PHP:
Ver original
  1. $formulario = nl2br($_POST["formulario"]);

FIjate si te sirve
  #6 (permalink)  
Antiguo 13/01/2010, 10:58
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Problema con PHP y tecla de enter.

Hola de nuevo,

Tema resuelto!!!

Korge1988 lo he solucionado con el nuevo codigo. Muchas gracias !!!!

FNX_NET Gracias también

Saludos!!

Etiquetas: enter, tecla
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 01:56.