Foros del Web » Programando para Internet » PHP »

Problema con salto de línea

Estas en el tema de Problema con salto de línea en el foro de PHP en Foros del Web. Hola a tod@s, A ver si me podéis echar un cable con un asuntillo con el que me estoy comiendo mucho el coco y me ...
  #1 (permalink)  
Antiguo 30/06/2008, 13:04
 
Fecha de Ingreso: julio-2007
Mensajes: 75
Antigüedad: 16 años, 9 meses
Puntos: 0
Problema con salto de línea

Hola a tod@s,

A ver si me podéis echar un cable con un asuntillo con el que me estoy comiendo mucho el coco y me estoy volviendo .... Os cuento, tengo una página php, que introduce datos en un bbdd (mysql), en dos campos tipo text, hago el insert según recojo las variables del formulario, en estos campos tipo text puedo escribir en varias líneas. Ej:

Línea 1
Línea 2
.........
Línea n



Luego a en otro enlace tengo otro formulario introduzco unos datos y hago una select para acceder a la bbdd y recuperar a un cliente que cumpla las condiciones de búsqueda, para a continuación mostrarlo en un formulario que genero en javascript...
El problema que tengo es que al recuperar los datos del tipo text me da "error" (lo pongo entre comillas porque no me sale una pantalla de error) y no muestra nada, he utilizado esta función para sustituir el salto de línea por <br> pero nada de nada......


$comentario = $_REQUEST["comentario"];

$comentario = preg_replace("\n","<br>",$comentario);

$datos = $_REQUEST["datos"];

$datos = preg_replace("\n","<br>",$datos);

pero me sigue fallando porque no recupero nada y es por el salto de línea, también he utilizado la funcion eregi_replace pero nada de nada..... Se os ocurre como hacerlo???


Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 30/06/2008, 15:04
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema con salto de línea

Haz primero un echo de la variable llega vacia del form,

echo $_REQUEST["comentario"];

y si llegan vacias y el form usa el metodo POST prueba a recuperarlas con POST

$_POST['comentario'];

Un saludo
  #3 (permalink)  
Antiguo 01/07/2008, 01:34
 
Fecha de Ingreso: julio-2007
Mensajes: 75
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problema con salto de línea

Hola eso está comprobado, creo que me he explicado mal arriba....... Es cuando recupero la variable de la base de datos y meto los resultados en un array para luego generar el formulario donde se muestran esos datos recuperados, los recupero en un array mediante un while y cuando llego a los campos text hago lo siguiente:

while($row = mysql_fetch_array($subresult))
{
echo "registros[".$i."][0] = '$row[0]';\n";
echo "registros[".$i."][1] = '$row[1]';\n";
.................................................. .................
$variable2 = $row[29];
$variable2 = preg_replace("/\r\n|\n\r|\n|\r/","<br>",$variable2);
echo "registros[".$i."][29] = '".$variable2."';\n";
$variable = $row[30];
$variable = preg_replace("/\r\n|\n\r|\n|\r/","<br>",$variable);
echo "registros[".$i."][30] = '".$variable."';\n";
echo "registros[".$i."][31] = '$row[31]';\n";
$i++;
}

Se os ocurre otra forma??


Gracias..........
  #4 (permalink)  
Antiguo 01/07/2008, 02:01
 
Fecha de Ingreso: julio-2007
Mensajes: 75
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problema con salto de línea

Tampoco me funciona nl2br que raro, no?


Y si utilizo la función preg_replace, me aparece el <br /> en el textarea como si fuera un carácter normal.......

preg_replace("/\r\n|\n\r|\n|\r/","<br />",$variable2);

Última edición por MartaMad; 01/07/2008 a las 05:09
  #5 (permalink)  
Antiguo 01/07/2008, 15:53
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema con salto de línea

Hola

Pero como haces la consulta a la BBDD??

y como insertas en la BBDD??

No soy ningun experto en php pero no habia visto ni leido en ninguna parte que se recuperen asi las variables en php.

echo "registros[".$i."][0] = '$row[0]' ; \n";

aunque igual me equivoco.

Un saludo
  #6 (permalink)  
Antiguo 02/07/2008, 00:39
 
Fecha de Ingreso: julio-2007
Mensajes: 75
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problema con salto de línea

Hola jaronu,

Insertar hago un simple insert, antes recupero la variable del formulario así:

$datos = $_REQUEST["datos"];
$datos = preg_replace("/\r\n|\n\r|\n|\r/",". ",$datos);

y hago el insert....

Al hacer el select, lo hago normal pero cuando recupero los valores de la consulta en un array multidimensional, utilizó preg_replace....


$variable2 = $row[29];
$variable2 = preg_replace("/\r\n|\n\r|\n|\r/",". ",$variable2);

(en lugar de sustituir por ". " debería de hacerlo por <br /> pero si hago eso me aparece en el textarea donde meto los resultados los caracteres "<br />" en lugar de hacer el salto de línea....

Cuando utilizo nl2br, pues hace el cambio de salto de línea por <br /> pero no me lo muestra, lo recoge bien de la bbdd y hace el cambio bien, al igual que rellenar el array con el cambio de salto de línea por <br /> pero a la hora de mostrarlo no muestra nada....

cuando lo muestro lo hago con javascript de la siguiente forma:

txt += "<td width='25%' class=Estilo3>Comentarios: </td><td width='*' colspan=3><textarea name=comentario id=comentario cols=70 rows=5>"+registros[registro][29]+"</textarea></td>"


Ya no sé si eso está mal, porque me estoy comiendo el coco y no doy con ello.......


Gracias
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 10:06.