Foros del Web » Programando para Internet » PHP »

Borrando post de un foro

Estas en el tema de Borrando post de un foro en el foro de PHP en Foros del Web. Hola amigos, tengo creado un foro en el que está la opción de borrar los mensajes publicados, es decir, que si el autor está logueado ...
  #1 (permalink)  
Antiguo 29/04/2007, 17:15
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 21 años, 8 meses
Puntos: 4
Borrando post de un foro

Hola amigos, tengo creado un foro en el que está la opción de borrar los mensajes publicados, es decir, que si el autor está logueado puede visualizar en su post un enlace para que lo elimine. El enlace lo creé de esta manera:

Código PHP:
<a class="vinculo" href="droptema.php?c=<?=$c?>&id_foro=<?=$id_foro?>&idautor=<?=$idautor?>" onclick="if(!confirm('Estás apunto de eliminar este post. Estás seguro de realizar esta operación?')) return false;" title="Eliminar post"> 
    <img src="images/drop.png" alt="Eliminar post" /> 
</a>
Donde:
$c = categoría del foro
$id_foro = la id del post
$idautor = id del autor del post

Este es el archivo droptema.php
Código PHP:
<?php
    session_start
();
    include(
'config.php');
    if (!empty(
$_SESSION['usuario'])) {
        
mysql_query("DELETE FROM foros WHERE id_foro='".$_GET[id_foro]."'");
        
$resp2 = mysql_query("SELECT * FROM foroscat WHERE id_cat='$c'");
        
$datos2 = mysql_fetch_array($resp2);
        
$resta = $datos2['numpost']-1;
        
mysql_query("UPDATE foroscat SET numpost='$resta' WHERE id_cat='$c'");
        
$resp3 = mysql_query("SELECT * FROM users WHERE id='$idautor'");
        
$datos3 = mysql_fetch_array($resp3);
        
$resta3 = $datos3['posts']-1;
        
mysql_query("UPDATE users SET posts='$resta3' WHERE id='$idautor'"); 
        echo 
'Registro Eliminado satisfactoriamente <a class="vinculo" href="foros/">Regresar a los foros</a>';
    }else {
        echo 
"<strong>Acceso denegado.</strong>";
    }
?>
El problema que tengo con dicho script, es que fácilmente cualquier persona puede poner en la URL la dirección hacia cualquier post con cualquier id de usuario y se va a borrar y eso es lo que quiero evitar, no sé si me dejo entender. Espero que me puedan ayudar con eso, gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 29/04/2007, 18:20
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 21 años, 8 meses
Puntos: 4
Re: Borrando post de un foro

ya conseguí arreglarlo cambiado esta línea:

Código PHP:
if (!empty($_SESSION['usuario'])) { 
por esta otra

Código PHP:
if ($_SESSION['idusuario'] == $_GET['idautor']) { 
y funciona correctamente.

Saludos.
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:39.