Supprimer image + données sql correspondantes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Supprimer image + données sql correspondantes

par ekzouille » 30 déc. 2008, 18:38

Merci infiniment, ca fonctionne, c'est merveilleux!

Tres bonne année à toi !

par Aureusms » 30 déc. 2008, 18:24

Moi je le mettrez plutôt en haut...
Toujours avec de la prudence concernant $_GET...
<?php 
$adresse="creation/";
if(isset($_GET['nom']))
     {
          $nom=''.$adresse.$_GET['nom'].'';
          unlink($nom);
          echo 'Le fichier "'.$_GET['nom'].'" a été effacé !<br>';
          $requete = "DELETE FROM upload WHERE id = '".$_GET['nom']."'";
          mysql_query($requete) or die("Erreur SQL :".mysql_error());
     }
$dossier = opendir($adresse);
while ($Fichier = readdir($dossier))
{  
     if ($Fichier != "." && $Fichier != "..") 
     { 
          echo '<a href="filelist.php?nom='.$Fichier.'">Supprimer</a> => <a href='.$adresse.$Fichier.' target="_blank">'.$Fichier.'</a><BR>'; 
     }
}
closedir($dossier);
?> 

par ekzouille » 30 déc. 2008, 13:05

Voila, j'ai essayé du mieux que j'ai pu et le truc le plus propre, mais completement bugué encore, est ce petit bout de code.
Le probleme c'est de combiné le delete de fichier du dossier + le delete dans la BDD, si vous avez une idée..

Merci beaucoup, d'avance !
<?php 
$adresse="creation/";
if(isset($_GET['nom']))
     {
          $nom=''.$adresse.$_GET['nom'].'';
          unlink($nom);
          echo 'Le fichier "'.$_GET['nom'].'" a été effacé !<br>';
     }
$dossier = opendir($adresse);
while ($Fichier = readdir($dossier))
{  
     if ($Fichier != "." && $Fichier != "..") 
     { 
          echo '<a href="filelist.php?nom='.$Fichier.'">Supprimer</a> => <a href='.$adresse.$Fichier.' target="_blank">'.$Fichier.'</a><BR>'; 
		  mysql_query('DELETE FROM upload WHERE id = '.$_GET['nom'].'') or die("Erreur SQL :".mysql_error());
     }
}
closedir($dossier);
?>
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Aureusms » 30 déc. 2008, 00:50

Je rajouterai

Code : Tout sélectionner

$requete = "DELETE FROM maTable WHERE url = 'urlEnregistrement' LIMIT 1";
Au cas où.

Note : fais gaffe avec ton $_GET : de cette façon la personne peut effacer quasiment toutes les photos

par animithra » 29 déc. 2008, 18:42

Bonsoir,

Si l'url qui figure dans la base de données est liée à l'url de l'image que tu supprimes, tu peux faire :

Code : Tout sélectionner

DELETE FROM maTable WHERE url = urlEnregistrement;

Supprimer image + données sql correspondantes

par ekzouille » 29 déc. 2008, 18:00

Bonsoir,

Voila,
J'ai fait un formulaire d'upload avec enregistrement de données (titre, description, url) dans mysql.
Maintenant j'aimerai pouvoir creer l'option Supprimer et ainsi effacer non seulement l'image mais la ligne de tableau qui lui correspond (comme mon menu est généré par le tableau mysql, ca serait bete d'afficher un lien d'une image qui n'existe plus)
J'ai la fonction, qui fonctionne (Hihaaa), pour supprimer l'image (avec unlink)
 
$adresse="../1/";
if(isset($_GET['nom']))
     {
          $nom=''.$adresse.$_GET['nom'].'';
          unlink($nom);
          echo 'Le fichier "'.$_GET['nom'].'" a été effacé !<br>';
     }
$dossier = opendir($adresse);
while ($Fichier = readdir($dossier))
{  
     if ($Fichier != "." && $Fichier != "..") 
     { 
          echo '<a href="filelist.php?nom='.$Fichier.'">Supprimer</a> => <a href='.$adresse.$Fichier.' target="_blank">'.$Fichier.'</a><BR>'; 
     }
}
closedir($dossier);
mais je galere pas mal pour l'associer au delete MySQL

J'en demande beaucoup, j'avoue, mais grace a vous j'apprend tellement que ca serait dommage de ne pas vous poser la question :lol:
Merci d'avance !