Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] textarea mysql javascript php?

Estas en el tema de textarea mysql javascript php? en el foro de PHP en Foros del Web. Buenas, En un php tengo el siguiente textarea en un formulario: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < div style = "float: left;" >< textarea ...
  #1 (permalink)  
Antiguo 28/01/2018, 12:13
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
textarea mysql javascript php?

Buenas,
En un php tengo el siguiente textarea en un formulario:
Código HTML:
Ver original
  1. <div style="float: left;"><textarea id="txtVariable" class="dat" style="width: 278px;text-align:left;font:14px cGothics;height:75px;"></textarea>

Al grabar a la base de datos hago lo siguiente:
Código Javascript:
Ver original
  1. txtVariable = $.trim($('#txtVariable').val());
  2. $.post( "../php/aaa.php",{jQueryPost:'grabar',txtVariable:txtVariable}).done(function(){});

Y en aaa.php lo siguiente:
Código PHP:
Ver original
  1. $txtVariable = utf8_decode(filter_input(INPUT_POST,'txtVariable',FILTER_SANITIZE_SPECIAL_CHARS));
  2. UPDATE tabla SET txtVariable = '".$txtVariable. WHERE ..........

Para recuperar el campo de la base de datos, hago lo siguiente:
$('#txtVariable').attr('value',texto);
Donde texto es el contenido de la base de datos


En el textarea introduzco el siguiente código:
aa
bbb
cccc
En la base de datos mysql se grava así: aa bbb cccc
Y cuando lo vuelvo a visualizar en el textarea, aparece así: aa bbb cccc

Cómo lo puedo hacer para que respete los saltos de linea?
Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 28/01/2018, 12:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: textarea mysql javascript php?

Usa las funciones nl2br() y htmlentities() para darle formato e insertar saltos de línea al texto antes de ser guardado en la base de datos.

Código PHP:
Ver original
  1. $texto_formateado = nl2br(htmlentities($texto_original));

Cuando lo recuperes de la base de datos, imprímelo como normalmente lo haces en el <textarea> puesto que ya tendrá formato.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 28/01/2018, 12:59
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: textarea mysql javascript php?

Gracias Alexis88, lo he probado. En la base de datos ha grabado:
aa&amp;#10;bbb&amp;#10;cccc

Y al visualizarlo al textarea imprime lo mismo
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #4 (permalink)  
Antiguo 28/01/2018, 13:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: textarea mysql javascript php?

Tengo una solución mejor que acabo de probar:

Antes de guardar el valor en la base de datos, solo usa la función htmlentities():
Código PHP:
Ver original
  1. $texto_final = htmlentities($texto_inicial);

Luego de que lo hayas guardado en la base de datos y en otro archivo lo vayas a recuperar en una búsqueda en la tabla para luego mostrarlo en otro <textarea>, utiliza la función html_entity_decode():

Código PHP:
Ver original
  1. <textarea><?php echo html_entity_decode($texto); ?></textarea>

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 28/01/2018, 14:18
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: textarea mysql javascript php?

Alexis88, tu primera sugerencia era adecuada, solo había que eliminar nl2br(). No es buena idea modifcar la información para guardarla en base de datos, solo se debe usar htmlentities() para mostrarla en una página.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 28/01/2018, 15:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: textarea mysql javascript php?

Sí. Es que coloqué lo que vagamente recordaba que hace algunos años hice; luego lo probé y me dí cuenta de que no era exactamente eso.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 28/01/2018, 16:12
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: textarea mysql javascript php?

Gracias a vuestras ideas. Al final lo he conseguido: grabo a la base de datos sin ningún tipo de conversión, y al visualizar el campo de la base de datos uso la función nl2br.
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Última edición por mblascog; 28/01/2018 a las 16:37
  #8 (permalink)  
Antiguo 04/02/2018, 13:37
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: textarea mysql javascript php?

La solución pasa por código javascript, no entiendo porqué se ha movido el post a php?
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Etiquetas: javascript, mysql, tabla, textarea
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:51.