Foros del Web » Programando para Internet » PHP »

Preguntas teoricas sobre $_REQUEST y addslashes

Estas en el tema de Preguntas teoricas sobre $_REQUEST y addslashes en el foro de PHP en Foros del Web. Buenas! Llevo un corto tiempo trabajando con php y empecé mal , la casa por el tejado como se suele decir, y ahora que me ...
  #1 (permalink)  
Antiguo 01/03/2008, 13:32
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 6 meses
Puntos: 11
Preguntas teoricas sobre $_REQUEST y addslashes

Buenas!

Llevo un corto tiempo trabajando con php y empecé mal , la casa por el tejado como se suele decir, y ahora que me he puesto a entender bien el por qué de todo me surgen varias dudas, que a pesar que puedan ser tontas y creo conocer la respuesta , prefiero preguntaroslo a vosotros que de tantos aprietos me sacais dia a dia :).

La primera pregunta es :

$_REQUEST , tal y como pone en el manual recibe las variables externas pasadas mediante un formulario sean recibidas por el metodo Get o Post indistintivamente.

Entonces de aqui me surgen 2 preguntas principales:

- ¿ Por qué no utilizar siempre $_REQUEST entonces?

Imagino que puede ser por si hay varios formularios con los mismos nombres de variables unos pasados por GET y otros por POST, o cosas así ... pero realmente quiero saber si hay una explicacion mas tecnica y clara en la que no haya caido.

- Muchas veces al trabajar con las CSS , para diferenciar estilos entre varios apartados de la pagina hago lo siguiente :
Código:
 <?php if(isset($_REQUEST['id]==3)) {... ..} ?>
Pero claro , los apartados de mis paginas (normalmente webs modulares) , no tiene formularios en cada apartado con el name=id, ni nada asi .

Haciendo pruebas, cambie por $_POST y no funcionaba y al cambiar por $_GET
sí.

Imagino que como el metodo GET, es para incluir las nuevas direcciones en la pagina ( dicho muy cutre) , es como que GET es el metodo que utiliza PHP en cada paso de pagina de la web...

No se si voy bien encaminado o pensareis que que me he tomado hoy :P, pero me gustaria realmente saberlo bien.



- La ultima pregunta es acerca de addslashes:

Se que se utiliza para añadir \ a caracteres especiales como las comillas , etc... y evitar situaciones inesperadas en el ingreso a la base de datos.

Me gustaria saber que se podria hacer si no se pusiera, porque no entiendo bien tan importante que es.

Luego tambien estoy haciendo un formulario y una funcion para evitar que este algun campo en blanco , que le pasen etiquetas html , etc... Todo esto de momento sin tener que ingresar los datos a ninguna base de datos.

Queria meter la funcion addslashes para dejarla mas completa de cara a un futuro , pero veo que para un formulario ordinario no hace nada....creo...

Es decir, si yo en el campo nombre introduzco "pepe" , la salida será la misma y no entiendo por qué. Por que si $_REQUEST devuelve una matriz asociativa de strings, al poner las "" , no produce ningun efecto?

Para evitar las comillas, utilizare las expresiones regulares, evitandome este tipo de salidas y que no puedan introducir este tipo de datos, pero realmente quiero saber si :

Aunque yo evite la salida indeseada, de cada al ingreso en una base de datos de estos datos, si produciria efectos indeseados???






No se si me he explicado bien y perdon por el tocho , espero puedan ayudarme en este largo pero intenso camino :).
  #2 (permalink)  
Antiguo 01/03/2008, 16:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Preguntas teoricas sobre $_REQUEST y addslashes

La razón de REQUEST es para que lo uses cuando necesites distinguir un dato y no te importa de donde viene (inclusive desde COOKIES).

Pero tambien si te interesa controlar solo de donde vienen puedes usar $_GET o $_POST o $_COOKIE, asi puedes realizar acciones dependiendo de donde vienen.

Recuerda que las variables via $_GET vienen por URL: /path.php?id=4, y las de $_POST por lo general vienen por un formulario de HTML.

El uso de addslashes es para prevenir SQL Inyection o que tu cadena se quede cortada y tu SQL salga malformado y mande un error en el Query.

Se recomienda su uso junto con mysql_real_escapestring.

Saludos.
  #3 (permalink)  
Antiguo 02/03/2008, 05:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 6 meses
Puntos: 11
Re: Preguntas teoricas sobre $_REQUEST y addslashes

Mas o menos como me imaginaba . Muchas gracias por aclararme estas dudas :)
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 20:03.