Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/04/2010, 10:29
Avatar de santris
santris
 
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: problema con apostrofe ayuda

Sacado del manual php

string addslashes ( string $cadena )

Devuelve una cadena con barras invertidas delante de los caracteres que necesitan escaparse en situaciones como consultas de bases de datos, etc. Los caracteres que se escapan son la comilla simple ('), comilla doble ("), barra invertida (\) y NUL (el byte NULL).

El ejemplo más habitual de utilización de la función addslashes() es la insersción de información en una base de datos. Por ejemplo, para insertar el nombre O'reilly en una base de datos, debe escaparse previamente. Para ello, la mayoría de bases de datos emplean el carácter \, por lo que el nombre quedaría como O\'reilly. Si la opción de configuración magic_quotes_sybase tiene un valor de on, entonces las comillas simples de tipo ' se escapan añadiendo otra comilla simple delante.

La directiva de PHP magic_quotes_gpc tiene un valor por defecto de on, por lo que de forma automática se llama a la función addslashes() en todos los datos que llegan a través de los métodos GET y POST y a través de las cookies. Por tanto, no es necesario emplear la función addslashes() en las cadenas que ya han sido escapadas mediante la directiva magic_quotes_gpc ya que si no, se harí un doble escape. La función get_magic_quotes_gpc() puede ser útil para comprobar el valor de esta directiva.


Ejemplo 2295. Ejemplo de addslashes()

Código PHP:
<?php
$cadena 
"¿Te apellidas O'reilly?";

// La salida seria: ¿Te apellidas O\'reilly?
echo addslashes($cadena);
?>

string stripslashes ( string $cadena )

Devuelve una cadena con las barras invertidas eliminadas (\' se convierte en ', etc.). Las barras invertidas dobles (\\) se convierten en sencillas (\).

Un ejemplo de uso de la función stripslashes() es cuando la directiva magic_quotes_gpc tiene un valor de on (que es su valor por defecto) y no se van a insertar los datos en una base de datos o cualquier otro elemento que necesite escapar los caracteres (por ejemplo, cuando se van a mostrar los datos de forma directa en una página HTML).


Ejemplo 2353. Ejemplo de stripslashes()

Código PHP:
<?php
$cadena 
"¿Te apellidas O\'reilly?";

// La salida es: ¿Te apellidas O'reilly?
echo stripslashes($cadena);
?>
__________________
Tu álbum de cromos online!!

Última edición por santris; 08/04/2010 a las 10:40