Foros del Web » Programando para Internet » PHP »

Error delete

Estas en el tema de Error delete en el foro de PHP en Foros del Web. Buenas... llevo desde Septiembre sin tocar php,y cuando dejé de tocar aparte de que estaba en "APRENDIENDO" pues se me olvidaron algunas cosas,y quería preguntar ...
  #1 (permalink)  
Antiguo 14/02/2011, 15:42
Avatar de falillista  
Fecha de Ingreso: agosto-2008
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 4
Error delete

Buenas... llevo desde Septiembre sin tocar php,y cuando dejé de tocar aparte de que estaba en "APRENDIENDO" pues se me olvidaron algunas cosas,y quería preguntar si alguien sabe porqué un invitado en mi sistema de blogs puede borrar una entrada si él/ella quiere,el código para eliminar una entrada es:

Código PHP:
    case 'delete':

        

        
$id mysql_real_escape_string($_GET['id']);

        

        
$post_sql "SELECT * FROM `miniblog` WHERE `post_id` = '{$id}'";

        
$result mysql_query($post_sql);

        

        if(
mysql_num_rows($result) == 1)

        {

            
$result mysql_query("DELETE FROM `miniblog` WHERE `post_id` = '{$id}'");

            if(
$result)

            {

                
header("Location: admin.php?mode=list");

            }

            else

            {

                die(
mysql_error());

            }

        }

        else

        {

            
header("Location: admin.php?mode=list");

        }

    break;



















    case 
'login':

    

        if(isset(
$_POST['SimplePoll_Login']))

        {

            if(
md5($_POST['password']) == PASSWORD)

            {

                
session_start();

                
$_SESSION['miniblog_Admin'] = true;

                
$_SESSION['miniblog_AdminPass'] = PASSWORD;

                
define('miniblog_ID'md5(time()));

                

                
header('Location: admin.php?mode=list');

            }

            else

            {

                
$error_text 'Incorrect password';

            }

        }

        

        include(
'login.php');

    

    

    break;

    

    

    

    

    

    

    

    

    

    

    

    

    case 
'password':

        

        if(isset(
$_POST['miniblog_PostBack']))

        {

        

            if(
$_POST['current_password'] != '' && $_POST['new_password'] != '' && $_POST['confirm_password'] != '')

            {

                
$current_password md5($_POST['current_password']);

                
$new_password      md5($_POST['new_password']);

                
$confirm_password md5($_POST['confirm_password']);

                

                
$real_current_pass mysql_result(mysql_query("SELECT `config_value` FROM `miniblog_config` WHERE `config_name` = 'password'"), 0);

                

                if(
$current_password == $real_current_pass)

                {

                    

                    if(
$new_password == $confirm_password)

                    {

                        
$result mysql_query("UPDATE `miniblog_config` SET `config_value` = '{$new_password}' WHERE `config_name` = 'password'");

                        if(
$result)

                        {

                            
$response_text 'Password updated';

                        }

                        else

                        {

                            
$response_text 'Could not update password';

                        }

                    }

                    else

                    {

                        
$response_text 'Both passwords must match';

                    }

    

                }

                else

                {

                    
$response_text 'Current password incorrect';

                }            

            }

            else

            {

                
$response_text 'You must fill out all fields';

            }

        }

        

        

        

        include(
'password.php');

        

    break;



    

    

    

    

    

    

    

    

    

    

    case 
'logout':

        
$_SESSION['miniblog_Admin'] = false;

        unset(
$_SESSION['miniblog_Admin']);

        unset(
$_SESSION['miniblog_AdminPass']);

        
session_destroy();

        
header('Location: admin.php?mode=login');

    break;

        

}

?> 
(y en algunos hostines pongo la contraseña pero no entra al admin,pero en el actual no pasa nada)

la url para eliminar sería: mode=delete&id=1

siento las molestias causadas... pero me encantaría terminar esos fallos,ya que me quedé con algunos fallos en el script... tiene su googlecode incluido,de hecho el script era un prefabricado muy liviano,como no sabía muy bien como hacer uno desde 0,me animé con uno bastante Light que encontré,le arreglé algunos fallos y añadí cosas,pero esos fallos se me resisten al completo.

gracias.

pd: si pueden examinen el código,y me dicen que anda mal,e buscado tropecientas cosas pero ni idea.
  #2 (permalink)  
Antiguo 14/02/2011, 15:49
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Error delete

Además del código para eliminar la entrada, debes revisar el código que muestra el enlace para borrar entradas.
1. Si el usuario no tiene permiso de borrar entradas, ni siquiera debe ver un enlace o botón para hacerlo.
2. Si el procedimiento para borrar es accesible desde una simple url, antes de hacer el query revisa que tenga permisos para hacerlo, ya que si no cualquier vivo puede poner una url para borrar algo.

Etiquetas: delete
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 03:04.