Foros del Web » Programando para Internet » PHP »

ERROR guardar texto formateado en mysql

Estas en el tema de ERROR guardar texto formateado en mysql en el foro de PHP en Foros del Web. buenas tardes estoy usando en mi proyecto el editor de texto TinyMCE en el cual edito y formateo el texto a mi gusto, esta informacion ...
  #1 (permalink)  
Antiguo 19/04/2011, 12:07
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
ERROR guardar texto formateado en mysql

buenas tardes estoy usando en mi proyecto el editor de texto TinyMCE en el cual edito y formateo el texto a mi gusto, esta informacion elaborada la debo guardar en mi base de datos pero no la guarda, pero si al texto que digito y no lo establesco ningun formato, si lo guarda.

Sera que el campo text de mysql no soporta un texto formateado ?

quisiera un editor sencillo como en el que estoy escribiendo este mensaje, alguna sugerencia ?

segun he visto este editor no le aplica el formato al texto enseguida si no que le crea las etiquetas adecuadas y al momento de publicar se ven los resultados caso contrario del TinyMCE que le aplica el formato.

me puede alguien ayudar, mil gracias.

saludos a todos.
  #2 (permalink)  
Antiguo 19/04/2011, 12:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ERROR guardar texto formateado en mysql

¿Y entonces como lo guarda?

Porque no es culpa del editor, es culpa de la forma en que guardas dicha información.

Sería bueno que nos platiques un poco, o en su defecto, mostrar el código que llevas haciendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/04/2011, 12:10
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años
Puntos: 14
Respuesta: ERROR guardar texto formateado en mysql

Usa addslashes. MySQL sí soporta texto formateado en un campo text. Revisa que no tengas errores en el procedimiento de guardado en la BD.
__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #4 (permalink)  
Antiguo 19/04/2011, 12:44
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

gracias por su respuesta instantanea, pero creo no tener problemas en el guardado, lo hago de esta manera.

tengo un formulario (html), y una function en XAJAX

mando a la funcion los datos del formulario y la recibo en una variable $datos

$datos es un array con todos los elementos del formulario.


$mensaje = $datos["tamensaje"]; // tamensaje = nombre del textarea

insert into tablamensaje values('$mensaje')

la insercion la hace. pero no cuando el texto esta formateado.


gracias, si necesitan mas datos con gusto se los publico.

saludos.
  #5 (permalink)  
Antiguo 19/04/2011, 12:48
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: ERROR guardar texto formateado en mysql

usa htmlentities($mensaje); y contame.

Antes de insertar en la base de datos, claro...
__________________
Si te ayude, el karma nunca sobra ;)
  #6 (permalink)  
Antiguo 19/04/2011, 12:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ERROR guardar texto formateado en mysql

No. En el peor de los casos htmlentities() lo que haría sería estropear el formato HTML, así que esa no debe ser la solución.

Aquí la función verdadera debería ser mysql_real_escape_string(), que para eso existe.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 19/04/2011, 13:11
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

ustedes son los maestros ya pruebo y les cuento ? mil gracias de nuevo
  #8 (permalink)  
Antiguo 19/04/2011, 13:16
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: ERROR guardar texto formateado en mysql

Cita:
Iniciado por pateketrueke Ver Mensaje
No. En el peor de los casos htmlentities() lo que haría sería estropear el formato HTML, así que esa no debe ser la solución.

Aquí la función verdadera debería ser mysql_real_escape_string(), que para eso existe.

Tenes razón... Parece que esto de estar un tiempo alejado del PHP me dio vuelta un poco los conocimientos.

Gracias
__________________
Si te ayude, el karma nunca sobra ;)
  #9 (permalink)  
Antiguo 19/04/2011, 15:02
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

perdonen mi ignorancia he hecho lo siguiente, no me saco error, pero el problema en la base de datos sigue igual, No guardo nada.

$mensaje = mysql_real_escape_string($datos["tamensaje"]);

insert into tablamensaje values('$mensaje');

hago la consulta y ese campo aparecen en blanco, es decir no ha guardado nada.
  #10 (permalink)  
Antiguo 19/04/2011, 18:46
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

Cita:
Iniciado por bioxido Ver Mensaje
usa htmlentities($mensaje); y contame.

Antes de insertar en la base de datos, claro...
este metodo tampoco me funciono sera que no se puede ?
  #11 (permalink)  
Antiguo 19/04/2011, 21:16
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

por mas que he buscado no he podido encontrar la solucion, a alguien se le ocurre algo más o quizas alguna persona paso por esto y quiera compartir.

mil gracias.
  #12 (permalink)  
Antiguo 19/04/2011, 21:24
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: ERROR guardar texto formateado en mysql

Que obtienes si haces: var_dump(htmlentities($datos['tamensaje']));?

En este caso el uso de htmlentities es solo para poder ver el codigo a modo de prueba.
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 19/04/2011, 22:16
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

Cita:
Iniciado por Triby Ver Mensaje
Que obtienes si haces: var_dump(htmlentities($datos['tamensaje']));?

En este caso el uso de htmlentities es solo para poder ver el codigo a modo de prueba.

esto codigo lo uso para guardar o consultar ?

lo probe asi y no me funciono

$mensaje = var_dump(htmlentities($datos["tamensaje"]));

ahora nisiquiera guarda.
  #14 (permalink)  
Antiguo 20/04/2011, 00:15
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: ERROR guardar texto formateado en mysql

var_dump($variable); se utiliza asi nada mas, sin asignar, sin echo, ni nada... simplemente es para ver el contenido de la variable y poder buscar el error.
__________________
- León, Guanajuato
- GV-Foto
  #15 (permalink)  
Antiguo 26/04/2011, 15:11
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

de mil formas he intentado guardar un texto formateado en mysql y no he podido, alguien me puede dar un ejemplo contreto donde me diga como hacerlo. le estaria agradecido toda la vida.

gracias.
  #16 (permalink)  
Antiguo 26/04/2011, 15:53
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: ERROR guardar texto formateado en mysql

Te podemos proporcionar infinidad de ejemplos, pero seria mejor que muestres el codigo, del formulario y tambien donde obtienes los datos, como armas la consulta y como la ejecutas. Va a ser mas rapido solucionar tu problema.
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 26/04/2011, 20:57
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: ERROR guardar texto formateado en mysql

Cita:
Iniciado por Triby Ver Mensaje
Te podemos proporcionar infinidad de ejemplos, pero seria mejor que muestres el codigo, del formulario y tambien donde obtienes los datos, como armas la consulta y como la ejecutas. Va a ser mas rapido solucionar tu problema.
gracias triby por su atencion.


<form id="fcreanoticia" name="fcreanoticia" action="noticias.php<? echo "?&dto=".$_GET['dto']."&cid=".$_GET['cid']."&cam=".$_GET['cam']."&ino=".$_SESSION["idnoticia"]?>" method="post">

<!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->

<textarea id='mnota' name='mnota' rows='15' cols='90' style='width: 90%'>
<?
$idnot = $_SESSION["idnoticia"];
if($idnot!=''){
$sql = "select * from noticia
where noidnoticia = '$idnot'";
$resEmp = mysql_query($sql, $conexion);
$rowEmp = mysql_fetch_assoc($resEmp);
echo $rowEmp["NOMENSAJE"];
}

?>
</textarea>

<div style="float:left;">
<?


$idcam = base64_decode($_GET['cam']);
$sql = "select * from noticia
where noidcampo = $idcam";
$resEmp = mysql_query($sql, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$resul = "<span style='color:#000000; float:left; margin:3px 10px 0 0;'>Noticias</span>";
$i = 0;

if($totEmp > 0)
while($rowEmp = mysql_fetch_assoc($resEmp)){
$i++;
// $resul .= "<div id='noticia'>
// <a href='javascript:void(0);' onclick='xajax_vernoticia(".$rowEmp['NOIDNOTICIA'].");'>".$i."</a></div>";
// $resul .= "<button id='noticia' onclick='javascript:submit;". creasession($rowEmp['NOIDNOTICIA']) ." ' >".$i."</button>";
$resul .= "<input style='display:none;' type='radio' name='rnoticia[]' id='rnoticia".$rowEmp['NOIDNOTICIA']."' value='".$rowEmp['NOIDNOTICIA']."' onclick='xajax_vernoticia(xajax.getFormValues(fcre anoticia));' /><label id='noticia' for='rnoticia".$rowEmp['NOIDNOTICIA']."'>".$i."</label>";

}
// onclick='xajax_vernoticia(".$rowEmp['NOIDNOTICIA'].");'>".$i."</a></div>";

echo $resul;
?></div>


<div style="clear:both; float:left; margin-top:10px;">

<input type="button" name="bsave" id="bsave" value="Publicar" onclick="xajax_guardar(xajax.getFormValues('fcrean oticia'));"/>
<input type="reset" name="blimpiar" value="Limpiar" />
<input type="button" name="bprueba" id="bprueba" value="cambiar" onclick="xajax_vernoticia(4);"/>
</div>

</form>




Funcion guardar en xajax

function guardar($datos){

$respuesta = new xajaxResponse();
$respuesta->setCharacterEncoding('ISO-8859-1');
include("conexion.php");
// $mensaje = mysql_real_escape_string($datos["mnota"]);

//strip_tags(nl2br(Texto ingresado)

$mensaje = strip_tags(nl2br($datos["mnota"]));
// $mensaje = var_dump($datos["mnota"]);

$idcam = base64_decode($_GET['cam']);
$fecha = date("Y-m-d");
$publica = 0;

$sql = "insert into noticia (NOIDCAMPEONATO,NOMENSAJE,NOFECHA,NOSWPUBLICAR) values($idcam,'$mensaje','$fecha',$publica)";
mysql_query($sql, $conexion);


$respuesta->Script("alert('Noticia Guardada');");

return $respuesta;
}


Estos script funcionan bien cuando el texto no tiene formato, pero le creo un formato al texto no guarda nada.


espero me puedan ayudar.

Etiquetas: mysql
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 06:27.