Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Lupin en 20 Agosto 2011, 00:55 AM

Título: Problemas con comillas y slashes que se anidan !!!
Publicado por: Lupin en 20 Agosto 2011, 00:55 AM
Una consulta muchachos , resulta que al poner comillas  "Hola" me sale al editar /"Hola/" y al editar de  nuevo  ///"Hola///"  y asi sucesivamente  hasta que se llena mi campo de la tabla :-\.
Tengo mi base de datos en mysql.
¿conocen laguna funcion que me evite anidar los "/" ?
Uso htmlentities
Gracias
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Shell Root en 20 Agosto 2011, 04:52 AM
Muéstranos todo el código, no creo que solo sea esa función.
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Nakp en 20 Agosto 2011, 07:56 AM
no guardes con htmlentities, usa mysql_real_escape_string()
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Lupin en 20 Agosto 2011, 21:16 PM
la verdad estoy ultilizando el editor de texto "Tiny_mce"
Rescato el texto en un formulario  de esta forma
Código (php) [Seleccionar]

<td>Texto:</td><td><textarea rows="15" cols="54"
     name="texto"  /><?php echo htmlentities($texto); ?>



y lo guardo con esto:


Código (php) [Seleccionar]

$titulo2 = protege_entradas(substr($titulo,0,100));
$encabezado2 = protege_entradas(substr($encabezado,0,348));
$texto2 = $texto
$sql="UPDATE Articulos SET titulo='$titulo2',".
         "encabezado='$encabezado2', texto='$texto2', fecha=now()".
          "WHERE id_articulo='$id'";

$result = mysql_query($sql);



Y de esta manera se me van acumulando los slash....por otro lado las entradas en "tiny_mce" no la puedo proteger porque se me acumula un monton de datos que rabasan el campo de mi tabla.... ¿algun idea? amigos  :-[ :-[ :-[
Probare con  mysql_real_escape_string
Gracias
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Shell Root en 22 Agosto 2011, 20:35 PM
Que tiene la función protege_entradas?
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Lupin en 23 Agosto 2011, 02:24 AM
Solo una proteccion basica !!!
Código (php) [Seleccionar]

function protege_entradas($texto) {
$texto = htmlentities ($texto);
$texto = htmlspecialchars ($texto);
$texto = trim ($texto);
return $texto;


Pero el caso es que no lo uso al introducir datos con el "tiny_mce".
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Nakp en 23 Agosto 2011, 17:32 PM
pues guarda solo usando el mysql_real_scape_string() y al mostrar los datos (no al guardar) utiliza el htmlentities ENT_QUOTES y hasta ahí :P no necesitas mas
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Lupin en 15 Septiembre 2011, 02:45 AM
Jeje Uff recien aparezco por aqui
Gracias por su ayuda muchachos pero solucione el asunto con 
stripslashes para mostrar
y addslashes para actualizar la base de datos (update)
La verdad estaba leyendo acerca de mysql_real_scape_string()  y no lo llege a entender  ;D
Título: Re: Problemas con comillas y slashes que se anidan !!!
Publicado por: Carluís en 1 Octubre 2011, 00:10 AM
Bueno quiero dar una función que seguramente te será útil, estoy de acuerdo con Nakp
Cita de: Nakp en 23 Agosto 2011, 17:32 PM
pues guarda solo usando el mysql_real_scape_string() y al mostrar los datos (no al guardar) utiliza el htmlentities ENT_QUOTES y hasta ahí :P no necesitas mas


Debería utilizar un código como el siguiente:

function Security($_Cadena) {
$_Cadena = htmlspecialchars(trim(addslashes(stripslashes(strip_tags($_Cadena)))));
$_Cadena = str_replace(chr(160),'',$_Cadena);
return mysql_real_escape_string($_Cadena);
}