Foros del Web » Programando para Internet » PHP »

Problema Para Borrar Registros De Una Bd

Estas en el tema de Problema Para Borrar Registros De Una Bd en el foro de PHP en Foros del Web. hola de nuevo tengo la siguiente situacion..... estoy queriendo borrar un registro de la BD, primeramente pido que se capture el ID que se quiere ...
  #1 (permalink)  
Antiguo 13/12/2007, 16:20
 
Fecha de Ingreso: septiembre-2006
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 1
Exclamación Problema Para Borrar Registros De Una Bd

hola de nuevo

tengo la siguiente situacion.....


estoy queriendo borrar un registro de la BD, primeramente pido que se capture el ID que se quiere borrar, en una siguiente pagina me despliega los todos los datos de ese ID y ya cuando estan seguros de que es lo que quieren borrar, le dan click en confirmar.
Aqui es que cada usuario se graba junto con el registro que dio de alta previamente, su LOGIN con el que entro a la BD, esto con la finalidad de que solamente el que dio de alta el registro, lo pueda borrar, unicamente esa persona y en caso de que no sea el "propietario" del registro lo mande a una pagina de error, pero obviamente no me sale

este es mi codigo:

Código PHP:
   include("gral_conec.php");
   
$link=Conectarse();
    
$id=$_POST['id'];
    
$ip=$_SERVER['REMOTE_ADDR'];
    
$login=$_SESSION['usuario_login'];
    
$fecha=date("Y-m-d");
//checamos que el id que se quiere borrar se amarre con el login de usuario y sitio
$ses mysql_query("SELECT login FROM ingmvd WHERE id_sitio='".$id."'",$link);

if(
$ses != $login//si la sesion del usuario y el login del registro no matchean
{
      
error_log("E|$id_sitio|$login|$fecha|$ip\n",3,"../logger.log");
      
header ("Location: $dir_go?error_login=11"); //le digo que no tiene los permisos
      
exit;
}
else 
//si matchean la sesion y el login del registro
{
      
error_log("E*|$id_sitio|$login|$fecha|$ip\n",3,"../logger.log");
      
mysql_query("DELETE FROM ingmvd WHERE id_sitio = '".id."'",$link); //borramos el registro
      
header("Location: gral_data_check_del.php"); //le aviso que se actualizo la BD
      
exit;

pero siempre me envia a la pagina en la cual le informa que no tiene los permisos, aun cuando sea el "propietario" del registro.


En que estoy mal???

  #2 (permalink)  
Antiguo 13/12/2007, 16:25
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Problema Para Borrar Registros De Una Bd

$ses es una variable de control del query, no contiene los datos, para eso tienes que volcarlos bien con mysql_fetch_array o con mysql_result.

Mira en el manual de PHP cómo funcionan estas dos funciones, son sencillas.
  #3 (permalink)  
Antiguo 13/12/2007, 16:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Problema Para Borrar Registros De Una Bd

GRACIAS
GRACIAS
GRACIAS!!!!!!




efectivamente era lo que me faltaba

dejo mi codigo ya corregido

Código PHP:
   include("gral_conec.php");
   
$link=Conectarse();
    
$id=$_POST['id'];
    
$ip=$_SERVER['REMOTE_ADDR'];
    
$login=$_SESSION['usuario_login'];
    
$fecha=date("Y-m-d");

$ses mysql_query("SELECT login FROM ingmvd WHERE id_sitio='".$id."'",$link);
$resp=mysql_result($ses,0,login);

if(
$resp != $login)
{
      
error_log("E|$id_sitio|$login|$fecha|$ip\n",3,"../logger.log");
      
header ("Location: $dir_go?error_login=11");
      exit;
}
else
{
      
error_log("E*|$id_sitio|$login|$fecha|$ip\n",3,"../logger.log");
      
mysql_query("DELETE FROM ingmvd WHERE id_sitio = '".$_POST["id"]."'",$link);
      
header("Location: gral_data_check_del.php");
      exit;

  #4 (permalink)  
Antiguo 13/12/2007, 16:44
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Problema Para Borrar Registros De Una Bd

Mira bien lo que devolvería mysql_result de no encontrar ningún resultado, no vaya a ser que devuelva algún error.
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 09:12.