Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2008, 09:19
gesking
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
"Bienvenido $username"

Hola gente, tengo un problema y que no se que tengo que no me doy cuenta. Se de php y no mucho, pero bue...

Tengo 1 archivo, estoy trabajando con sessiones. Este archivo lo llamo "eliminar_imagenes.php".

eliminar_imagenes.php
Código PHP:
session_start();
if (isset($_SESSION['s_username'])) {
include("config_usuarios.php");
$sesion = $_SESSION['s_username'];
$con = mysql_query("SELECT * FROM hostimage_imagenes WHERE username = '$sesion'") or die("Error: ".mysql_error());
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="30%" valign="top">
<?
if(mysql_num_rows($con) != 0) {
echo 
'<form action="eliminar_imagenes.php" method="post">
        <select name="archivo">'
;
        while(
$datos mysql_fetch_array($con)) {
            echo 
'<option value="'.$datos['id'].'">'.$datos['imagen'].'</option>';
            }
        echo 
'</select><br><br>
              <input type="submit" name="borrar" value="Borrar">
              </form>'
;
} else {
echo 
'No hay imgenes para borrar<br>
<a href="index.php">Volver</a>'
;
}
?>
</td>
    <td width="70%" valign="top"><div align="center">
<script type="text/javascript">
function abrir_imagen(obj) {
    document.getElementById('imagen_grande').src = obj.value;
}
</script>
<img src="" id="imagen_grande">
<script type="text/javascript">
    abrir_imagen(document.getElementById('archivo'));
</script>
    </div></td>
  </tr>
</table>
<?
if(isset($_POST['borrar'])){

$res mysql_query("delete from hostimage_imagenes where id='$_POST[archivo]'") or die("Error: ".mysql_error());

$archivo $_POST[archivo];
if(
unlink($archivo)) {
echo 
"El archivo <b>$_POST[archivo]</b> ha sido borrado satisfactoriamente.<br><br><br><br>";
} else {
echo 
"El archivo <b>$_POST[archivo]</b> no se pudo borrar.<br><br><br><br>";
}
}
}else{
echo 
"Tu no estas autentificado. No puedes entrar aqui!!";
}

El problema es simple. Para eliminar el registro de la base de datos está perfecto, pero para eliminar el archivo esta feo... Porque le indico a unlink que elimine lo seleccionado en el select. Este select se llama "archivo". Que pasa, el value de las option tube que poner la ID del registro de la base de datos, pero al querer borrar el archivo, lo interpreta como el numero de la ID, por ejemplo "5" y no hay una imagen que se llame 5.

Tengo un archivo "subir_imagenes.php", donde subo las imagen. Al subir una imagen, se cambia su nombre, se sube a X directorio y el nombre de la imagen que se subió se registra en un campo de una BD. Además se registran ID y username. El username es igual al que inición sesion. Esto es para que el select lea el campo "imagen". Este campo es igual al nombre de la imagen almacenada.

No se si está bien pensado, si alguien me pudiese ayudar se lo agradeceria mucho.