Programación Web y Scripting > PHP

 Problema Al Borrar Imágenes

(1/4) > >>

zaida20:
Hola, tengo un problemilla:

estoy creando un blog, y antes de subir las imágenes al servidor las muestro, puedo elegir tantas imágenes como quiera, debajo de cada imagen me aparece un botón con el suiguente <a href>:

<a href="imagenes_blog.php?foto_borrar=<?php echo $popo[$i]?>">

y el código es:


Código PHP:
<?php
$ruta_imagen=$_GET['ruta'];
$borrar=$_GET['foto_borrar'];
if($borrar!=NULL)
    {
        //echo $borrar;
        $imagenes=$_SESSION['foto'];
        $i=0;
        $j=0;
        while($imagenes[$j]!=NULL)
        {
            //echo $imagenes[$j];
            if($imagenes[$j]!=$borrar)
            {
                $imagenes_a[$i]=$imagenes[$j];
                $i++;
            }
            $j++;
        }
        $imagenes=$imagenes_a;
        $_SESSION['foto']=$popo;
    }
else
{
    if($ruta_imagen!=NULL)
    {
    //echo $ruta_imagen;
        if($_SESSION['foto']==NULL)
        {
            $rut=array();
            $rutimagen[0]=$ruta_imagen;
            $_SESSION['foto']=$rutimagen;
            $popo=$_SESSION['foto'];
        }
        else
        {
            $foto=$_SESSION['foto'];
            $num=count($foto);
            $rutimagen=$_SESSION['foto'];
            $rutimagen[$num]=$ruta_imagen;
            $_SESSION['foto']=$rutimagen;
            $popo=$_SESSION['foto'];
        }
    }
}
?>
El problema es que cuando pulse sobre un botón para borrar, me borrar todas las imágenes que estoy visualizando, no sólo la que corresponde al botón pulsado. ¿Alguien puede ayudarme?

Muchas gracias y saludos :hola:

Altareum:
Zaida, el script funciona perfecto.
Supongo que lo que quieres es que se guarde el listado nuevamente en la sesión. Para ello tienes que corregir esta línea:


--- Código: Text ---  &#036;imagenes=&#036;imagenes_a;&#036;_SESSION['foto']=&#036;popo;   
Así:

--- Código: Text ---  &#036;imagenes=&#036;imagenes_a;&#036;_SESSION['foto']=&#036;imagenes;   

Saludos.
Altareum.

zaida20:
De verdad te funciona?
He probado a cambiar la línea que me has dicho y sigue igual.
He probado hacer un print_r ($imagenes); y me imprime las rutas de todas las imágenes, y me debería de imprimir todas menos la de la foto que he borrado no?
He colocado el print_r fuera del while.

Saludos y gracias de nuevo!!! :hola:


--- Citar ---Supongo que lo que quieres es que se guarde el listado nuevamente en la sesión
--- Fin de la cita ---

Si eso es lo que quiero  ;)

Altareum:
Entonces.... la variable $borrar está trayendo algún valor que se encuentre dentro de $_SESSION['foto'] ???

No se como son los valores que tienes guardados en la sesión, pero es probable, que haya diferencias, puede ser una /, la extensión del archivo.
Será que en $_SESSION['foto'] guardas la dirección completa a la imágen y $borrar tiene solo el nombre del archivo ???

Intenta hacer un print_r de $_SESSION['foto'] (como ya hiciste) y de $borrar y tratar de ver cual es la diferencia entre uno y otro, recuerda que para borrarla, estás haciendo una comparación.. o sea que deben ser ambos valores iguales.


Altareum.

zaida20:
He probado hacer el print_r de S_SESSION['foto'], y el resultado son las rutas de todas las imágenes que estoy mostrando y el resultado de $borrar es la ruta de la imagen que quiero borrar, puede ser ese el problema? ¿Cómo lo soluciono?

Mil gracias y saludos!!! :hola:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa