Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar texto html en bd

Estas en el tema de Guardar texto html en bd en el foro de PHP en Foros del Web. Buenas ya he buscado en el foro, hay temas parecidos pero he probado lo que dicen y sigue sin funcionarme. Tengo un formulario que genera ...
  #1 (permalink)  
Antiguo 02/04/2013, 01:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 39
Antigüedad: 17 años, 2 meses
Puntos: 0
Guardar texto html en bd

Buenas ya he buscado en el foro, hay temas parecidos pero he probado lo que dicen y sigue sin funcionarme.

Tengo un formulario que genera una plantilla en html para describir los productos de una tienda online (prestashop)

Lo que quiero es que guarde ese codigo html directamente en la descripcion del producto en la base de datos, pero no sé que es lo que falla que no lo hace... He probado con htmlentities, pero nada... con htmlentities + addslashes si se guarda pero despues en la tienda online aparece el código html directamente

El campo donde se guarda en la base de datos es del tipo "text" y el ejemplo del html que guardo es este...

Código HTML:
<table width='957' border='0' cellspacing='0' cellpadding='0' style='font-family:Arial, Helvetica, sans-serif; color:#313131; font-size:14px'> 
	<tr>
		<td height='40'>&nbsp;Modelo: <strong>Mi producto</strong></td> 
		<td rowspan='2' align='right'><img src='http://www.midominio/misimagenes/imagen1.png' width='187' height='67' alt='miimagen' /></td> 
	</tr> 
	<tr> 
		<td height='50'>
			<table>
				<tr>
					<td>Capacidad:</td>
					<td style='width:70px; height:37px; background:url(http://www.midominio/misimagenes/ficha_producto/imagen2.png) no-repeat center center; color:#ffffff;font-weight:bold;'>
						<span style='margin-left:10px; display:block;margin-top:10px;font-size:15px;'>15ml.</span> 
					</td>
				</tr>
			</table>
		</td>
	</tr> 
</table> 
Me podeis ayudar?? Gracias!!
  #2 (permalink)  
Antiguo 02/04/2013, 04:25
 
Fecha de Ingreso: marzo-2013
Ubicación: Valencia
Mensajes: 11
Antigüedad: 11 años
Puntos: 0
Respuesta: Guardar texto html en bd

Las descripciones de los productos se guardan en la tabla ps_product_lang en la columna 'description'. Y no hace falta utilizar ninguna función html. Pones el código tal cual lo tengas en esa columna.
  #3 (permalink)  
Antiguo 02/04/2013, 04:37
 
Fecha de Ingreso: febrero-2007
Mensajes: 39
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Guardar texto html en bd

ya sé que no hace falta y que está en esa tabla, la cosa es que he creado una plantilla dinámica para que gente sin ningún tipo de conocimiento pueda introducir los productos con una misma apariencia...

La aplicacion en php está fuera de prestashop, pero quiero poder guardar el contenido que he puesto en el primer post en la base de datos desde php, pero no lo guarda...

El mismo texto si lo meto directamente en la bd si que lo hace, pero desde la aplicacion php no
  #4 (permalink)  
Antiguo 02/04/2013, 04:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Guardar texto html en bd

Si recibes el html y lo tratas como texto te lo debe guardar... no uses htmlentities porque precisamente hace lo contrario a lo que pretendes ... convierte los caracteres del lenguaje a entities para que no se traten como parte del código. Lo que si debes usar es addslashes para evitar conflictos con los delimitadores de texto... El uso de un editor tipo TyniMCE te puede ayudar.

Una vez consigas que entre en la bbdd revisa si la salida permitirá ese html....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 02/04/2013, 08:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 39
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Guardar texto html en bd

Cita:
Iniciado por quimfv Ver Mensaje
Si recibes el html y lo tratas como texto te lo debe guardar... no uses htmlentities porque precisamente hace lo contrario a lo que pretendes ... convierte los caracteres del lenguaje a entities para que no se traten como parte del código. Lo que si debes usar es [URL="http://php.net/manual/es/function.addslashes.php"]addslashes[/URL] para evitar conflictos con los delimitadores de texto... El uso de un editor tipo [URL="http://www.tinymce.com/"]TyniMCE[/URL] te puede ayudar.

Una vez consigas que entre en la bbdd revisa si la salida permitirá ese html....
Efectivamente quimfv era por lo que comentabas. Solo utilizando addslashes se me ha guardado en la base de datos y me lo ha mostrado despues correctamente en el producto en prestashop.

Gracias!!

Etiquetas: bd, formulario, html
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:03.