Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357

    Delete file [php&mysql]

    Salve a tutti ho fatto un upload img. e fin qui tutto ok.. il nome del file viene inserito nel mysql..
    ora se io volessi cancellare l'id nel mysql, vorrei ke venisse cacellato anke l'img..

    io ho provato a fare cosi:

    $connessione = @mysql_connect($db_host,$db_user,$db_pass);
    @mysql_select_db($db_name,$connessione);
    //* ELIMINAZIONE *//
    @mysql_query("DELETE FROM $info WHERE id='$delete'",$connessione) or die("Errore sul mysql");
    unlink("$upload_dir/$file_name");

    ma logicamente non va xke nn sa cosa cancellare---
    mi sapete aiutare?

  2. #2
    Si presume che nella tabella ci sia il nome del file.

    Ti metto gli step di un mio script...

    1) fai la SELECT estraendo il nome del file.
    2) verifica se il file esiste. if(file_exists
    3) Se esiste lo cancello con verifica. if(unlink
    4) se gli esiti sono positivi ...
    5) DELETE record.
    6) Avviso cancellazione effettuata oppure no.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    io come detto ma nn va..sapete dirmi dove ho sbaglaito?

    codice:
    if($action=="add")
    {
    $delete = $_GET["delete"];
    if (!($delete)) {}
    else{
    include ("../includes/db.php");
    include("../includes/functions.php");
    
    $connessione =	@mysql_connect($db_host,$db_user,$db_pass);
    @mysql_select_db($db_name,$connessione);
    //* Selezioniamo l'img da cancellare*//
    $dati = @mysql_query("SELECT * FROM $info WHERE img='$img'",$connessione);
    if(file_exists("$upload_dir/$file_name")) {
    //elimino il file esistente
    if(unlink("$upload_dir/$file_name")){ echo"File eliminato!!";}else{echo"File non trovato o errore nel cancellarlo.";}}else{
    
    //* ELIMINAZIONE *//
    @mysql_query("DELETE FROM $info WHERE id='$delete'",$connessione) or die("Errore sul mysql");
    unlink("$upload_dir/$file_name");
    
    redirect('admin.php?action=', 2);
    echo "Processo effettuato con successo!";
    mysql_close();}
    }
    }

  4. #4
    ma $upload_dir dove lo prendi?

    e poi quanti pasticcetti....

    Fai il SELECT ma non estrai il nome. Cerchi di cancellare due volte il file...

    ma anche le if iniziali... Passi il $delete poi controlli se e' TRUE.. controlla $_GET['delete']

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    upload_dir lo prendo da db.php

    mica puoi rimoderlarlo?

  6. #6
    Garanzie zero. Ma perche' lo faccio???
    codice:
    <?php
    if($action == "add")
      {
        $delete = isset($_GET["delete"]) ? $_GET['delete'] : '';
    
        if ($delete != '' ) {
    
           include ("../includes/db.php");
           include("../includes/functions.php");
    
           $connessione  =  @mysql_connect($db_host, $db_user,$db_pass);
           @mysql_select_db($db_name,$connessione);
    
            //* Selezioniamo l'img da cancellare*//
           $dati = @mysql_query("SELECT * FROM $info WHERE img = '$img'",$connessione);
           $row = mysql_fetch_assoc($dati);
    
           $file_name = $row['file_name'];
    
           if(file_exists("$upload_dir/$file_name")) {
    
           //elimino il file esistente
           if(unlink("$upload_dir/$file_name"))  {
                   echo "File eliminato!!";
    
           //* ELIMINAZIONE record *//
           @mysql_query("DELETE FROM $info WHERE id = '$delete' ",$connessione) or die("Errore sul mysql");
    
           }  else   { echo "File non trovato o errore nel cancellarlo.";  }
    
           // che e' questo
           // redirect('admin.php?action=', 2);
    
           echo "Processo effettuato con successo!";
           mysql_close();
           }
        }
    }
    Perche' nel select prendi img = $img e nel delete prendi id = '$delete' ???? non dovrebbe essere sempre lo stesso valore?

    Ma perche' passi l'id da cancellare per URL... uno che gioca al pirla scorre tutto "l'alfabeto" dei numeri e ti fa raso terra...

    Controlla i nomi dei campi... ovviamente...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    scusate se vado OT...
    Ma mi spiegate che cosa succede quando si usa AS ??

  8. #8
    Originariamente inviato da peo91919
    scusate se vado OT...
    Ma mi spiegate che cosa succede quando si usa AS ??
    As nella query significa ALIAS.

    SELECT pippo AS pallino FROM...

    vuol dire prendi pippo e chiamalo pallino.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    xke il delete sta dentro add
    e il link lo fatto action=add&delete.$nn ricorod[99].


    speriamo ke nn lo scopre e anke se li sciore ci vuole il login

    infine grazie

  10. #10
    e a che cosa serve chiamare una cosa in un altro modo?????

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.