Foros del Web » Programando para Internet » PHP »

guardar datos con comillas magicas

Estas en el tema de guardar datos con comillas magicas en el foro de PHP en Foros del Web. Hola, tengo 2 consultas: 1.- Tengo un dato que viene por POST $_POST (pass)= Comillas_magicas ($_POST (pass))// Tengo una funcion donde aplico comillas magicas al ...
  #1 (permalink)  
Antiguo 14/07/2010, 10:38
 
Fecha de Ingreso: enero-2010
Mensajes: 128
Antigüedad: 9 años, 10 meses
Puntos: 2
guardar datos con comillas magicas

Hola, tengo 2 consultas:

1.- Tengo un dato que viene por POST
$_POST (pass)= Comillas_magicas ($_POST (pass))// Tengo una funcion donde aplico comillas magicas al dato

Pero cuando lo quiero guardar en la base no me aparece escapado con la barra \' sino que aparece tal cual lo ingreso en el <FORM> por ejemplo: o' donell, pese a que le aplico comillas magicas al dato, este no se me guarda asi (o/'donell) en la base.
Estoy seguro que se aplican comillas magicas porque cuando consulto el valor de $_POST (pass) = o\'donell, pero sin embargo se guarda en la base: o'donell.

Uso esta sentencia para guerdar el dato:

conectar();
mysql_query("INSERT INTO usuarios (pass) VALUES ('{$_POST['pass_us']}')");

¿Cual puede ser es el problema?


2.- Estuve viendo que su uso es obsoleto desde PHP 5.3.0, ¿debo usarlo de todas formas como medida basica de seguridad o cuando ponga mi pagina en el servidor tendre problemas en este punto?

Gracias.
  #2 (permalink)  
Antiguo 14/07/2010, 10:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 5 meses
Puntos: 1517
Respuesta: guardar datos con comillas magicas

Usa mysql_real_escape_string.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 20/07/2010, 08:13
 
Fecha de Ingreso: enero-2010
Mensajes: 128
Antigüedad: 9 años, 10 meses
Puntos: 2
Respuesta: guardar datos con comillas magicas

Hola.

Estuve con problemas y no me pude conectar.
Pero probé lo que me dijiste y use esta funcion mysql_real_escape_string().

Código:
Function escapa_cadena($cadena){
  if(get_magic_quotes_gpc() != 0) {
        $cadena = stripslashes($cadena);
    }
    return mysql_real_escape_string($cadena);
}
Pero no me funciona.
Cuando consulto la variable antes de guardarla en la base esta escapada, pero en la base no se guarda "escapada".

Ejemplo:
en p_alta_us.php proceso las variables que vienen por POST desde alta_us.php, entonces, recibo esto por POST

$_POST['nom_us']="o'donell"

entonces escapo la cadena:

$_POST['nom_us']=escapa_cadena($_POST['nom_us']);

cuando consulto el valor de $_POST['nom_us'] vale "o/'odonell", pero cuando lo guardo en la base, se guarda como "o'donell"

¿cual es el error?

Gracias.

Etiquetas: comillas, magicas
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 12:26.