Tengo un motor y en este las personas pueden subir fotografias, y tambien borrarlas.
El problema es que al borrarlas, cargo un while con todas las fotos subidas por el usuario filtrando por su correo, y luego el elije cual desea borrar.
El problema es que la url al intentar borrar la foto queda con ../mis-progresos-eliminar.php?imagen_id=22
y con esto si el usuario cambia el id de manera manual, puede borrar la imagen que sea.
Adjunto el codigo para ver si me pueden ayudar saludos-
Codigo que carga los datos de las fotos ingresadas
Código:
Codigo para borrar la imagen:<table id="tabla-registros"> <tr> <td>NOMBRE</td> <td></td> </tr> <?php /** conexion ***************************/ // conectamos a la base de datos session_start(); include('../acceso_db.php'); /** fin conexion ************************/ $usuario=$_SESSION['email']; // del registro a actualizar // hacemos una consulta // para mostrar los datos // hacemos una consulta // para mostrar los registros $sql = mysql_query("SELECT imagen_id, imagen FROM imagenes WHERE email='$usuario'") or die(mysql_error()); // mostramos los registros while($row = mysql_fetch_array($sql)) {?> <tr class="campos-tabla"> <?php echo "<td>".$row['imagen']."</td>"."<td>"."<a class='actualizar-clientes' href='mis-progresos-eliminar.php?imagen_id=$row[imagen_id]'>Eliminar</a>"."\n"?> </tr> <?php } ?> </table>
Código:
De antemano muchas gracias por su ayuda <?php include('../acceso_db_actualizar.php'); // comprovamos si // ha sido enviado el formulario if(isset($_POST['eliminar']) && $_POST['eliminar'] == 'Eliminar'){ // creamos la consulta // que eliminara el registro // que viene via $_POST $id_eliminar = $_POST['imagen_id']; $sqlEliminar = mysql_query("DELETE FROM imagenes WHERE imagen_id = $id_eliminar", $link) or die(mysql_error()); // enviamos un mensage de exito $mensaje = "<p class='mensaje-eliminado'>El registro a sido eliminado</p> <a href='mis-progresos-registros.php'>Ver más registros</a>"; } // si no ha sido enviado el formulario aun // recogemos el ID // del registro a eliminar // via $_GET elseif(isset($_GET['imagen_id'])){ $id = $_GET['imagen_id']; // hacemos una consulta // para mostrar el registro // que vamos a eliminar $sql = mysql_query("SELECT * FROM imagenes WHERE imagen_id = $id", $link) or die(mysql_error()); $row = mysql_fetch_array($sql); // advertimos $mensaje = "<p class='mensaje-eliminar'>¿Está seguro que quiere eliminar la fotografía <b>$row[imagen]</b>?<p>"; } // mostramos el mensage echo $mensaje; ?> <!-- creamos el formulario HTML que enviara el ID del registro a eliminar --> <form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" > <input name="imagen_id" type="hidden" value="<?php echo $row['imagen_id']; ?>" /> <input class="boton-actualizar" name="eliminar" type="submit" value="Eliminar" /> </form>