Bouton SUPPRIMER ne fonctionne pas :/

Yass -  
 Yass -
Bonjour,

Je travaille sur un site pour l'école, ça marche plutot pas mal mais mon bouton supprimer ne marche pas :/.

Au début, dans la page, j'affiche plein de media à partir de ma base de donée, avec des croix à coter pour supprimer/modifier les medias.

 <div id="contenu">   
 <h1>Administration du site.</h1>   
      
    <h2>Suppresion du medias :</h2>    
       
    <table>    
     <tr><td class="tableauAdmin"><span class="titreTableau">Id :</span></td><td class="tableauAdmin"><span class="titreTableau">Titre :</span></td><td class="tableauAdmin"><span class="titreTableau">Auteur :</span></td><td class="tableauAdmin"><span class="titreTableau">Type :</span></td></tr>    
     <?php   
        
     include 'config.php';   
     $id = $_GET['id'];   
     if(connexion_db()) {   
     $requete = "SELECT med.id, med.titre, med.auteur, typ.nom_type FROM Media med INNER JOIN Type typ ON typ.id = med.id_type WHERE med.id='$id'";   
     $resultat = mysql_query($requete);   
       if(!$resultat) {   
        echo "Impossible de traiter la requète.";   
       }   
       else {   
        $tab = mysql_fetch_assoc($resultat); {   
        echo '<tr>';   
        echo '<td>'.$tab['id'].'</td>';   
        echo '<td>'.$tab['titre'].'</td>';   
        echo '<td>'.$tab['auteur'].'</td>';   
        echo '<td>'.$tab['nom_type'].'</td>';   
        echo '</tr>';   
        }   
       }   
      }   
      mysql_free_result($resultat);   
     ?>   
    </table>   
    <p>Etes-vous certain de vouloir supprimer ce media ?</p>   
    <p>Attention! Si vous supprimez ce Media, vous supprimerez toutes les données en faisant partie.</p>   
    <p><input type="submit" value="Supprimer" name="Envoi"/></p>   
       
    <?PHP   
    if(isset($_POST['Envoi'])) {   
     $requete = "DELETE FROM Media WHERE id='$id'";   
     $resultat = mysql_query($requete);   
        
     if(!$resultat) {   
      echo "<p>Impossible de traiter la requète.</p>";   
     }   
     else {   
      echo "<p>Media supprimée.</p>";   
     }   
    }   
    mysql_close();   
    ?>   
    <a href="afficheall.php">Retour</a> au tableau complet.    
    </div>


Voilà mon code , qu'est ce qui ne vas pas ? Merci.

2 réponses

  1. __construct
     
    Bonsoir,

    Comportement normal, tu ne transmets aucune variable à ta requête de suppression et pour cause, un bouton de formulaire sans formulaire, ça ne peut pas fonctionner...
    Replonge-toi dans les bases du HTML et/ou du PHP
    2
  2. Yass
     
    Je peux pas tester maintenant, mais penses tu que ça ira comme ça ? merci en tous cas, j'avais carrement pas fait attention :/ ..

    <h2>DELETE MEDIA :</h2>  
        <form action="<?PHP $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded"> 
         <fieldset> 
          <?PHP 
           
          include 'config.php'; 
           
          $id = $_GET['id']; 
          if(connexion_db()) { 
         $requete = "SELECT med.id, med.titre, med.auteur, typ.nom_type FROM Media med INNER JOIN Type typ ON typ.id = med.id_type WHERE med.id='$id'"; 
         $resultat = mysql_query($requete); 
           if(!$resultat) { 
            echo "Impossible de traiter la requète."; 
           } 
         else { 
           $tab = mysql_fetch_assoc($resultat); 
         }  
               } 
         ?> 
          <label>Titre: <input type="text" name="titre" value="<?PHP echo $tab['titre'] ?> "/></label><br/> 
          <label>Auteur: <input type="text" name="auteur" value="<?PHP echo $tab['auteur'] ?> "/></label><br/> 
          <label>Type-2 pour blueRay,3 pour dvd, 4 pour cd-: <input type="text" name="id_type" value="<?PHP echo $tab['id_type'] ?> "/></label><br/> 
          <input type="submit" value="Delete" name="Envoi"/> 
           
         </fieldset> 
        </form> 
        <p>Etes-vous certain de vouloir supprimer ce media ?</p> 
        <p>Attention! Si vous supprimez ce Media, vous supprimerez toutes les données en faisant partie.</p> 
        <p><input type="submit" value="Supprimer" name="Envoi"/></p> 
         
        <?PHP 
        if(isset($_POST['Envoi'])) { 
         $requete = "DELETE FROM Media WHERE id='$id'"; 
         $resultat = mysql_query($requete); 
          
         if(!$resultat) { 
          echo "<p>Impossible de traiter la requète.</p>"; 
         } 
         else { 
          echo "<p>Media supprimée.</p>"; 
         } 
        } 
        mysql_close(); 
        ?> 
        <a href="afficheall.php">Retour</a> au tableau complet.  
        </div> 
    

    Merci :)
    0
    1. __construct
       
      ça ne fonctionnera pas non plus car dans ton script (et notamment dans la requête de suppression) tu as une variable $id qui ne provient pas du formulaire, par contre le formulaire te transmet bien une variable nommée $_POST['id_type'] qui est censée contenir la valeur de l'id contenu dans la table de la bdd
      0
    2. Yass
       
      Hum, je ne comprends pas très bien ce que tu veux dire, pour un updateMedia, ça marche comme ça enfaite ..
      Peut etre mettre un <input type= "hidden" name= "identifiant" value="<?PHP echo $tab['id'] ?> "/> ?
      0