Foros del Web » Programando para Internet » PHP »

mysql_real_escape_string + Comentario

Estas en el tema de mysql_real_escape_string + Comentario en el foro de PHP en Foros del Web. que me recomiendan para imprimir en pantalla comentarios q fueron guardados con esa funcion?? No quiero que salgan las \ en el comentario (salvo que ...
  #1 (permalink)  
Antiguo 19/08/2009, 03:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
mysql_real_escape_string + Comentario

que me recomiendan para imprimir en pantalla comentarios q fueron guardados con esa funcion?? No quiero que salgan las \ en el comentario (salvo que el usuario haya escrito esa barrita aproposito!)
Un preg_replace siempre q aparezca \ seguido de un caracter especial?? No existe algo como mysql_unescape ?? =p

Saludos


edit: 2) otra pregunta ya que estoy, me está cortando los comentarios luego de una cierta cantidad de caracteres, que puede ser?? (es un <textarea>) yo no le puse ninguna limitación, salvo por el VARCHAR(255), pero nadie llega a usar tantos caracteres e igual los corta. Lo unico q les hago es un trim() para sacar los espacios q sobran

Última edición por horape; 19/08/2009 a las 03:55
  #2 (permalink)  
Antiguo 19/08/2009, 04:25
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 5 meses
Puntos: 21
Respuesta: mysql_real_escape_string + Comentario

talvez el problema este en el trim() mostranos como lo haces.....

Para quitar esas barritas, usa stripslashes()
  #3 (permalink)  
Antiguo 19/08/2009, 05:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: mysql_real_escape_string + Comentario

graciass, esa funcion era lo que queria!

---

bueno ahora q me fijo en realidad le hacia varias cosas al mensaje, pero igual no veo que se tenga q cortar por nada de esto:

primero hago esto

Código php:
Ver original
  1. $comment = mysql_real_escape_string(trim($_POST['body']));

luego chequeo las malas palabras

Código php:
Ver original
  1. $badwords = array('...');
  2. $comment_body = str_replace($badwords, "****", $comment);

despues chequeo que no me inyecten cosas como <script> u otros tags

Código php:
Ver original
  1. $patterns = "/<[^>]+>/";
  2. $replacements = "";
  3. $comment_body = preg_replace($patterns,$replacements,$comment_body);

Luego simplemente lo guardo en la base de datos, y cuando lo extraigo lo imprimo tal cual está.
Segun me fije en la base de datos se están guardando cortados los mensajes, asi que no es tema de cuando lo extraigo sino antes de insertarlo
  #4 (permalink)  
Antiguo 19/08/2009, 07:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: mysql_real_escape_string + Comentario

ya chekie luego de hacerle todo eso la variable no está cortada aún, asi que se está cortando al insertarla.. que puede ser?? Hay una cantidad máxima de caracteres para una consulta?
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 09:31.