Cita:
Iniciado por djreficul Muchas gracias Cluster, siempre he usado el Addslashes pero no sabía nada del magic_quote_gpc. Supongo q x eso cuando recogía algo con caracteres especiales salían tantas "\" en lugar de una sola.
Pues nada, eso significa q tengo q renovar algunos scripts, jejeje.
Saludos.
AÑADO:
Con lo q acabas de enseñarme, verías correctas estas funciones?
Código PHP:
function marcar ($content) {
$content = (! get_magic_quotes_gpc ()) ? unhtmlentities (addslashes ($content)) : $content;
return $content;
}
function desmarcar ($content) {
$content = stripslashes (htmlspecialchars ($content);
return $content;
}
Lo normal es que los servidores usen "magic_quote_gpc" a ON . .esto significa que todo dato que pasa por el URL o en formularios o son cookies (he de ahí g de GET .. p de POST y c de COOKIE .. eso es lo que significan esas letras) se "auto escapen" .. es decir .. PHP añade ya un \ a caracteres como comillas y demás ..
Pero, .. aunque sea esto lo "común" .. no te puedes fiar si el servidor X de turno tiene esa configuración como tu lo esperas .. lo ideal es "preguntar" (via la función adecuada) su valor para tomar la acción pertinente. También puedes "forzar" el estado de esa directiva con la función ini_set() .. (pero a veces no puedes "forzar" el estado de esa directiva .. así que mejor sigue siendo .. "ver" que estado tiene y actuar en consecuencia).
Esto sucede en general con muchas funcionalidades de PHP .. PHP es "altamente" configurable y por ende afecta mucho esta configuración a como se comporte cierto código.
Un saludo,