Foros del Web » Programando para Internet » PHP »

Validación de variables obtenidas

Estas en el tema de Validación de variables obtenidas en el foro de PHP en Foros del Web. Hola a todos, Estoy haciendo un sistema de tutoriales y quisiera saber su opinión acerca de la manera que estoy utilizando para comprobar que las ...
  #1 (permalink)  
Antiguo 30/01/2011, 10:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Validación de variables obtenidas

Hola a todos,

Estoy haciendo un sistema de tutoriales y quisiera saber su opinión acerca de la manera que estoy utilizando para comprobar que las variables que obtengo mediante GET son válidas y coinciden entre sí. Aqui les explico un poco:

El link de cada tutorial sería algo asi:

tutoriales.php?categoria=x&id=y

Estoy validandolo de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. //Selecciono el tutorial con el ID indicado
  3.  
  4. $query1 = mysql_query("SELECT categoria FROM tutoriales WHERE id='"$_GET['id']"'");
  5.  
  6. //Cuento los resultados
  7. $num_res = mysql_num_rows($query1);
  8.  
  9. //Si no hubo resultados...
  10. if($num_res == '') {
  11. header(location: error.php?id=1);
  12. } else {
  13.  
  14. //Si hubo, compruebo que la categoria enviada por GET coincida con la categoria del tutorial...
  15. $query_fetch = mysql_fetch_array($query1);
  16. if($_GET['categoria'] != $query_fetch['categoria']) {
  17. header(location: error.php?id=2);
  18. }
  19.  
  20. }
  21.  
  22.  
  23. .....

Espero sus comentarios :) un saludo
  #2 (permalink)  
Antiguo 30/01/2011, 10:44
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Validación de variables obtenidas

Deberias comprobar primero si la variable existe, antes de hacer la consulta

Código PHP:
if(!empty($_GET['id'])){
/*Codigo*/
}else{
header(locationerror.php?id=1);

y si es la variable es de tipo numero hacer lo siguiente

Código PHP:
if(!empty($_GET['id']) && is_numeric($_GET['id'])){
/*Codigo*/
}else{
header(locationerror.php?id=1);

Me parece que deberias hacer eso antes de ejecutar la consulta.
  #3 (permalink)  
Antiguo 30/01/2011, 10:51
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Validación de variables obtenidas

Tienes razón, se me estaba pasando eso. Muchas gracias!

si encuentran algún error o tienen una sugerencia haganmela saber porfavor :)

Gracias nuevamente @anacona16

Etiquetas: variables, validar
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 22:20.