Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/08/2012, 13:04
urameshix
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Paso de ID para modificar registro

Gracias por tu respuesta GatorV,

Comentarte que efectivamente hay privilegios.Tengo una tabla de usuarios y otra de proyectos en la que indico entre otras cosas a que ID de usuario pertenece.

Entonces yo lo que hago para editar un proyecto es lo siguiente (lo resumo bastante):

Código PHP:
function compruebaProyecto($id_proyecto){

      
$query mysql_query("
      SELECT COUNT(*)
      FROM proyectos
      WHERE ID="
.$id_proyecto."
      AND ID_USUARIO="
.$_SESSION['id']
      );

      return 
mysql_result($query,0) > true false;
}

// --- Main script ----

if(!$_POST){

     
$id_proyecto $_GET['id_proyecto'];
     
$ok_permisos compruebaProyecto($id_proyecto);
     if(
$ok_permisos){
            
//Muestro formulario para editar con los datos del proyecto cargados
            //En el formulario pongo en un campo hidden el ID del proyecto
     
}


}else{
     
      
//Aquí tengo que volver a comprobar que el ID enviado corresponde con la persona
      //Esto lo hago porque desde firebug se puede modificar a voluntad los campos de los formularios
      
$id_proyecto $_POST['id_proyecto'];
      
$ok_permisos compruebaProyecto($id_proyecto);
      if(
$ok_permisos){
             
//Proceso los datos y hago query
      
}


Hasta ahora lo tenía hecho siempre así. Pero pensándolo bien, tengo que hacer dos veces la misma comprobación, antes del POST y después. Es por eso que había pensado lo de la sesión.

Pero la pega que le he encontrado, es que si seteo una sesión antes del POST, aunque despues del POST le haga un unset, si el usuario no envía el formulario, esa variable queda colgada y es un rollo.

Un saludo