Delete foto in database e cartella

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
PHP:
header("location:gallery_delete.php?id=$actor_id&success=true");
sempre il solito...

ottimo, funziona, o quasi..

Test su 2 foto

sshot-1.png


cancello la prima, quella sotto di Dylan Dog,

il messaggio mi avvisa che e' stata cancellata

sshot-2.png


cancello la seconda, e ....sorpresa .... nessun avviso, strano

sshot-3.png
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Testato con 4 foto, funziona perfettamente (a parte l'avviso mancante per l'ultima immagine cancellata)

Che dire, GRAZIE TANTE Tomm03 :), senza di te questo script non veniva mai risolto, comunque ti meriti una cena, e tante birre ;).

Se un giorno passerai dalle mie parti sei il benvenuto :)
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
a parte l'avviso mancante per l'ultima immagine cancellata
<?php if(isset($_GET['success']) && $_GET['success'] == 'true') { ?> <div class="alert alert-success"> <?php echo "Images has been deleted sucessfully"; ?> </div> <?php } ?>
Penso sia perché questa parte che dovrebbe dare l'avviso si trova dentro al while e quando cancelli l'ultima foto il while non parte più dato che non c'è più niente
per risolvere dovresti togliere questa parte dell'avviso e metterla fuori al while.. dipende dalle tue esigenze dove metterla precisamente
ciaoo
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
se metto fuori dal while la penultima la visualizzo con la class bootstrap e l'ultima come semplice testo

tu cosa consigli?
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
PHP:
<!DOCTYPE html>
<html>
<head>
<title>PHP remove uploaded file from folder and database</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" >
</head>



<body>
    <div class="container">
        <h3 class="text-center">Delete Images</h3>
        
        <div class="row">
        
        <?php 
        if(isset($errorMsg))
{
?>
            <div class="alert alert-danger">
                <?php 
                    echo $errorMsg;
unset($errorMsg);
?>
            </div>
        <?php 
        }
?>
        
        <?php 
        if(isset($_GET['success']) && $_GET['success'] == 'true')
{
?>
            <div class="alert alert-success">
                <?php 
                    echo "Images has been deleted sucessfully";
?>
            </div>
        <?php 
        }
?>
 
<?php 
   
require_once("cineteca.include");

if(!$conn)
{
die(mysqli_error());
}

$actor_id = $_GET["id"];



$sql = "
select *
FROM
actor a
INNER JOIN
gallery g
on
g.actor_id_fk = a.actor_id
WHERE
a.actor_id=". $actor_id;



$rs = mysqli_query($conn, $sql);

while($row = mysqli_fetch_assoc($rs))
{

$nome= $row ['nome'];

$getIamgeName = $row['photo'];


if(isset($_GET['deleteid']))
{
$selectSql = "

select * from gallery WHERE gallery_id= ".$_GET['deleteid'];
$rsSelect = mysqli_query($conn,$selectSql);
while($getRow = mysqli_fetch_assoc($rsSelect)){
$idok=$getRow['photo'];
}

$createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$idok;



if(unlink($createDeletePath))
{
$deleteSql = "delete from gallery where gallery_id = ".$_GET['deleteid'];
$rsDelete = mysqli_query($conn, $deleteSql);

if($rsDelete)
{
header("location:gallery_delete.php?id=$actor_id&success=true");

exit();
}
}
else
{
$errorMsg = "Unable to delete Image";
}
}


?>
      
        
    <?php 
       

$imgWithPath = "../image_upload/actor/uploads/$nome ($actor_id)/".$row['photo'];
?>    
            
                
            <div class="col-md-12 text-center" style="margin-top:10px">
                <img src="<?php echo $imgWithPath ?>" width="100">
                <a href="?id=<?php echo $actor_id;?>&deleteid=<?php echo $row["gallery_id"]?>" class="btn btn-primary">Delete image</a>
            </div>
            
            
    <?php        
       
}
?>
    </div>
    </div>
    
    
<script src="../js/bootstrap.min.js"></script>    
</body>
</html>
Io proverei cosi (non sono sicuro che funzioni)
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
e infatti, non funziona bene :D, cancella i file dal database e dalla cartella ma l'avviso no

Warning: Cannot modify header information - headers already sent by (output started at E:\OpenServer\domains\localhost\cinema\crud\gallery_delete.php:21) in E:\OpenServer\domains\localhost\cinema\crud\gallery_delete.php on line 105

line 105

PHP:
header("location:gallery_delete.php?id=$actor_id&success=true");
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Ah giusto beh allora non so, riprendo il codice precedente e scegli il posto dove spostare i codici del messaggio fuori dal while
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
questo e' un pezzo di codice di marino51,

i messaggi dentro il codice php

PHP:
if( empty(aggiornaDB("conta_id")) )
        {
            $set['azione'] = "";
            $message = "ERRORE : non ho trovato nessun elemento con l&acute; ID indicato";
            return;
        }


e questo il segnaposto dove visualizzare

PHP:
<?= $message; ?>

solo che si inserisce il tutto dentro php forse poi si perde bootstrap
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
PHP:
<?php
  
require_once("cineteca.include");

if(!$conn)
{
die(mysqli_error());
}

$actor_id = $_GET["id"];



$sql = "
select *
FROM
actor a
INNER JOIN
gallery g
on
g.actor_id_fk = a.actor_id
WHERE
a.actor_id=". $actor_id;



$rs = mysqli_query($conn, $sql);

while($row = mysqli_fetch_assoc($rs))
{

$nome= $row ['nome'];

$getIamgeName = $row['photo'];


if(isset($_GET['deleteid']))
{
$selectSql = "

select * from gallery WHERE gallery_id= ".$_GET['deleteid'];
$rsSelect = mysqli_query($conn,$selectSql);
while($getRow = mysqli_fetch_assoc($rsSelect)){
$idok=$getRow['photo'];
}

$createDeletePath = "../image_upload/actor/uploads/$nome ($actor_id)/".$idok;



if(unlink($createDeletePath))
{
$deleteSql = "delete from gallery where gallery_id = ".$_GET['deleteid'];
$rsDelete = mysqli_query($conn, $deleteSql);

if($rsDelete)
{
header("location:gallery_delete.php?id=$actor_id&success=true");

exit();
}
}
else
{
$errorMsg = "Unable to delete Image";
}
}


?>
<!DOCTYPE html>
<html>
<head>
<title>PHP remove uploaded file from folder and database</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" >
</head>



<body>
    <div class="container">
        <h3 class="text-center">Delete Images</h3>
       
        <div class="row">
       
        <?php
        if(isset($errorMsg))
{
?>
            <div class="alert alert-danger">
                <?php
                    echo $errorMsg;
unset($errorMsg);
?>
            </div>
        <?php
        }
?>
       
       
    <?php
      

$imgWithPath = "../image_upload/actor/uploads/$nome ($actor_id)/".$row['photo'];
?>   
           
               
            <div class="col-md-12 text-center" style="margin-top:10px">
                <img src="<?php echo $imgWithPath ?>" width="100">
                <a href="?id=<?php echo $actor_id;?>&deleteid=<?php echo $row["gallery_id"]?>" class="btn btn-primary">Delete image</a>
            </div>
           
           
    <?php       
      
}
?>
    <?php
        if(isset($_GET['success']) && $_GET['success'] == 'true')
{
?>
            <div class="alert alert-success">
                <?php
                    echo "Images has been deleted sucessfully";
?>
            </div>
        <?php
        }
?>     
    </div>
    </div>
   
   
<script src="../js/bootstrap.min.js"></script>   
</body>
</html>
Se ti va bene che il messaggio di successo ci sia, ma sotto alle immagini, cosi dovrebbe andare
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Buongiorno a tutti e buona domenica :)

Ciao Tommy03 :)


ho testato l'ultimo script, funziona perfettamente con warning fino alla penultima foto e poi niente,

quindi comportamento uguale all'altro anche se e' cambiato il codice con questo alla fine

PHP:
<?php
        if(isset($_GET['success']) && $_GET['success'] == 'true')
{
?>
            <div class="alert alert-success">
                <?php
                    echo "Images has been deleted sucessfully";
?>
            </div>
        <?php
        }
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M query update e delete PHP 0
Jensen Errore di sintassi con DELETE PHP 3
R query DELETE non cancella i record PHP 1
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
Y query di DELETE PHP 4
giancadeejay DELETE in mysql PHP 14
1 Errore UPDATE, DELETE MS Access 16
D Query di delete tra due tabelle MySQL 1
I Problema con DELETE - MYSQL PHP 6
L Delete record mysql PHP 0
M DELETE record di due tabelle MySQL 1
F Delete record database PHP 6
pup3770 Automatizzare Istruzione DELETE FROM attivazione automatica PHP 4
novello88 [MySQL] Delete Record (cancellare una riga) MySQL 1
H DELETE su una tabella e INSERT SULL'ALTRA... PHP 1
R query delete e ID progressivo.. PHP 2
borgo italia delete where data< PHP 3
borgo italia delete from PHP 2
A Insert,Delete e Update file di testo PHP 0
grottafelix Finestra Alert prima di delete Classic ASP 0
G E' possibile dare la vividezza in un colpo solo a più foto Photoshop 1
P Prodotti, foto, titolo e descrizione E-Commerce 0
I carica foto profilo sessione utente PHP 2
G Perché il mio sito su Google news fa vedere le immagini degli articoli la mia foto profilo? WordPress 1
P Migliorare foto notturna Photoshop 0
felino [Wordpress] Gallery con foto selezionabili dall'utente WordPress 0
D visualizzare solo foto filtrate jQuery 1
S come vedere anteprime delle foto prima di mandarli al server Javascript 1
N spostare millimetricamente un pezzo di foto Photoshop 0
C Come caricare foto da google foto ad un sito? Discussioni Varie 1
F Estrarre ultima foto da cartelle PHP 2
S poblema rendering foto jpg dompdf PHP 1
C Presentazione foto WordPress 0
Tommy03 Scattare foto e mostrarla Sviluppo app per Android 0
L COLORE DETTAGLIO IN FOTO BIANCO E NERO - PHOTOSHOP Photoshop 0
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
L Scmporre una foto dotata di varie immagini in piu layer Photoshop 2
S Inserire foto in ogni cella di una tabella Javascript 0
P Upload foto cover e profilo jQuery 0
Alex_70 Visualizzare anteprima foto in dropdown PHP 2
K Presentazione di foto Photoshop 1
S [Photoshop] Nome di questo effetto (vedi foto) Photoshop 1
Alex_70 [PHP] Caricare foto su un'altra tabella collegata PHP 0
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
D [HTML] Non riesco aprire foto singole in un album creato con "iWebAlbum" HTML e CSS 1
S [Photoshop] scontornare foto in formato 1 a 1 Photoshop 2
ANDREA20 [PHP] Foto prodotto PHP 0
E [HTML] Allineare foto a un tag DIV verticalmente HTML e CSS 0
A [Photoshop] Problema salvataggio foto in JPEG Photoshop 5

Discussioni simili