Supprimer des membres en PHP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par chymel785, 23 Juillet 2013.

  1. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    Bonjour tout le monde, je viens demander votre aide après avoir passé 5 jours à chercher l'erreur dans mon code vainement. Bon je veux afficher ma liste d'utilisateurs avec des cases à cocher pour pouvoir supprimer. Tout marche bien jusqu'au moment où je clique sur supprimer rien ne se passe. Si quelqu'un pourrait m'aider je lui serai très reconnaissante. Voilà le code que j'ai fait :
    Code:
    Voici la liste des utilisateurs:
    <table>
        <tr>
            <td class="left"> <th> Id </th>
            <th>Nom d'utilisateur</th>
            <th>Email</th>
        </tr>
        <form action="users.php" method="post">
        <ul>
             
    <?php
     
    //On recupere les identifiants, les pseudos et les emails des utilisateurs
    $req = mysql_query('select id, username, email from users ORDER BY id');
    while($dnn = mysql_fetch_array($req))
    {
    ?>
            
        <tr>
            <td class="left"><input type="checkbox" name="id_supp[]" value="<?php echo $dnn['id']; ?>" class="id" />
            <td class="left"><?php echo $dnn['id']; ?></td>
            <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>">  &nbsp;  &nbsp;  &nbsp;  &nbsp;<?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
            <td class="left">  &nbsp;  &nbsp;  &nbsp; &nbsp; &nbsp; <?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
        </tr>
    <?php
     if(isset($_POST['btnAction'])){ //si on a cliqué sur 1 bouton action
        if($_POST['btnAction']=="supprimer"){  //si l'action est supprimer
            if(!empty($_POST['id_supp'])){   //si on a coché aux moins une case
               foreach($_POST['id_supp'] as $id_suppr) {
                  mysql_query('DELETE FROM users WHERE id = \'' . $_GET['id_supp'] . '\'');
    
                 
                }
                     
                }
            }else{ //si aucune case n'a été cochée
                echo 'vous n\'avez selectionné aucun fichier à déplacer';
            }
        }
    }
    ?>
    
    </form>
    
    
    </table>
          </div>
     
  2. chtipepere
    chtipepere WRInaute occasionnel
    Inscrit:
    8 Janvier 2004
    Messages:
    428
    J'aime reçus:
    0
    Hmm...
    Je vois plusieurs incohérences dans ton code.
    1/ je ne vois pas de submit, donc je ne sais pas comment tu fais pour soumettre ton formulaire.
    2/ ça m'a tout l'air d'être un copié/collé, du coup, il reste des choses non adaptées.

    Essayes déjà de remplacer :
    Code:
    mysql_query('DELETE FROM users WHERE id = \'' . $_GET['id_supp'] . '\'');
    par :
    Code:
    mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
    Pour débugger un peu, après :
    Code:
    mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
    rajoute :
    Code:
    echo "DELETE FROM users WHERE id = $id_suppr'';
    Attention, ton code est très vulnérable !!!
     
  3. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    par : mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
    tu veux dire, par : mysql_query('DELETE FROM users WHERE id = \'' . $_POST['id_supp'] . '\'');

    car $id_suppr n'existe pas dans ce contexte
     
  4. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    Merci tout d'abord pour votre réponse, j'ai raté la ligne du submit. J'ai essayé votre solution mais la suppression ne s'effectue pas et il n'y a pas de messages d'erreurs.
    Le code :

    Code:
    Voici la liste des utilisateurs:
    <table>
        <tr>
            <td class="left"> <th> Id </th>
            <th>Nom d'utilisateur</th>
            <th>Email</th>
        </tr>
        <form action="users.php" method="post">
        <ul>
             
    <?php
     
    //On recupere les identifiants, les pseudos et les emails des utilisateurs
    $req = mysql_query('select id, username, email from users ORDER BY id');
    while($dnn = mysql_fetch_array($req))
    {
    ?>
            
        <tr>
            <td class="left"><input type="checkbox" name="id_supp[]" value="<?php echo $dnn['id']; ?>" class="id" />
            <td class="left"><?php echo $dnn['id']; ?></td>
            <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>">  &nbsp;  &nbsp;  &nbsp;  &nbsp;<?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
            <td class="left">  &nbsp;  &nbsp;  &nbsp; &nbsp; &nbsp; <?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
        </tr>
    <?php
     if(isset($_POST['btnAction'])){ //si on a cliqué sur 1 bouton action
        if($_POST['btnAction']=="supprimer"){  //si l'action est supprimer
            if(!empty($_POST['id_supp'])){   //si on a coché aux moins une case
               foreach($_POST['id_supp'] as $id_suppr) {
                 mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
    			 echo "DELETE FROM users WHERE id = $id_suppr";
    
                 
                }
                     
                }
            }else{ //si aucune case n'a été cochée
                echo 'vous n\'avez selectionné aucun fichier à déplacer';
            }
        }
    }
    ?>
    
    </form>
    
    
    </table>
    		</div>
    		 <div class="foot"><input type="submit" name="btnAction" value="supprimer" />
     
  5. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    J'ai testé avec ça, on me donne ce message d'erreur : Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.9\www\espace_membre\users.php on line 52
     
  6. chtipepere
    chtipepere WRInaute occasionnel
    Inscrit:
    8 Janvier 2004
    Messages:
    428
    J'aime reçus:
    0
    Hmm...
    Il est instancié dans le foreach...
     
  7. chtipepere
    chtipepere WRInaute occasionnel
    Inscrit:
    8 Janvier 2004
    Messages:
    428
    J'aime reçus:
    0
    Le mieux est de voir dans quel else tu tombes.
    Remplace :
    Code:
    <?php
    if(isset($_POST['btnAction'])){ //si on a cliqué sur 1 bouton action
        if($_POST['btnAction']=="supprimer"){  //si l'action est supprimer
            if(!empty($_POST['id_supp'])){   //si on a coché aux moins une case
               foreach($_POST['id_supp'] as $id_suppr) {
                 mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
              echo "DELETE FROM users WHERE id = $id_suppr";
    
                 
                }
                     
                }
            }else{ //si aucune case n'a été cochée
                echo 'vous n\'avez selectionné aucun fichier à déplacer';
            }
        }
    }
    ?>
    
    Par :
    Code:
    <?php
    if (isset($_POST['btnAction']))
    { //si on a cliqué sur 1 bouton action
      if ($_POST['btnAction'] == "supprimer")
      { //si l'action est supprimer
        if (!empty($_POST['id_supp']))
        { //si on a coché aux moins une case
          foreach ($_POST['id_supp'] as $id_suppr)
          {
            mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
            echo "DELETE FROM users WHERE id = $id_suppr";
          }
        }
        else
        { //pas de POST[id_supp]
          echo 'Pas de valeur à traiter.';
        }
      }
      else
      {
        echo 'Erreur avec la valeur du submit';
      }
    }
    else
    {
      echo 'Erreur avec la présence du submit';
    }
    ?>
    
     
  8. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0

    Merci pour votre réponse et votre temps. On m'affiche cette erreur : Parse error: syntax error, unexpected $end in C:\Program Files\EasyPHP-5.3.9\www\espace_membre\users.php on line 80
    J'ai vérifié les " { " et "} " mais l erreur est toujours là.
     
  9. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    Il y avait une { qui n'était fermée, je l'ai fermé et pourtant rien ne se passe je clique sur supprime et rien ne se passe
     
  10. chtipepere
    chtipepere WRInaute occasionnel
    Inscrit:
    8 Janvier 2004
    Messages:
    428
    J'aime reçus:
    0
    Mets ton submit avant </form>.
     
  11. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    Merciiiiiiiiiiiiiiiiiiiiiiiiii infiniiiiiiment! la suppression marche très bien maintenant lorsque je ne coche qu'une seule case. Il y a encore un tout petit problème, c'est lorsque je selectionne plusieurs, on ne me supprime qu'une seule. Que dois-je faire ?
     
  12. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    C'est bon c'est réglé .. j'ai fait ça :
    Code:
    $sql=mysql_query('DELETE FROM users WHERE id = \'' . $id_suppr . '\'');
            mysql_query($sql);
    Merciiii pour votre aide
     
  13. chtipepere
    chtipepere WRInaute occasionnel
    Inscrit:
    8 Janvier 2004
    Messages:
    428
    J'aime reçus:
    0
    Il faut qu'on récupère plus de contexte.
    Avant :
    Code:
    if ($_POST['btnAction'] == "supprimer")
    Rajoute :
    Code:
    print_r($_POST);
    Et colle ici le résultat.
     
  14. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 207
    J'aime reçus:
    365
  15. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0

    C'est fait. On m'affiche ceci :
    Array ( [id_supp] => Array ( [0] => 3 [1] => 2 ) [btnAction] => supprimer ) Array ( [id_supp] => Array ( [0] => 3 [1] => 2 ) [btnAction] => supprimer ) Array ( [id_supp] => Array ( [0] => 3 [1] => 2 ) [btnAction] => supprimer )

    En actualisant la page, j'ai 3 membres maintenant. Soit le dernier qui se supprime ou bien les 2 derniers.Sans même cliquer sur supprimer, c'est bizarre. Savez-vous pourquoi ?
     
  16. chymel785
    chymel785 Nouveau WRInaute
    Inscrit:
    23 Juillet 2013
    Messages:
    10
    J'aime reçus:
    0
    On m'affiche aussi : Erreur avec la présence du submit je viens d le voir
     
Chargement...
Similar Threads - Supprimer membres PHP Forum Date
Un Fondateur de site Web, peut il supprimer sans préavis Les messages privés des membres Droit du web (juridique, fiscalité...) 16 Février 2015
[JavaScript Array] modifier un code html sans le supprimer/recréer Développement d'un site Web ou d'une appli mobile 20 Juin 2022
Impossible de supprimer une page Facebook Facebook 15 Juin 2022
comment supprimer articles fantômes référencés Problèmes de référencement spécifiques à vos sites 12 Mai 2022
Unused CSS et outils pour supprimer feuilles de style inutilisées Développement d'un site Web ou d'une appli mobile 27 Avril 2022
Pénalité Penguin. Doit-on supprimer les backlinks toxiques en 1 fois ? Netlinking, backlinks, liens et redirections 15 Avril 2022
comment supprimer définitivement une page zombie ? Problèmes de référencement spécifiques à vos sites 5 Décembre 2021
Supprimer landing page homepage, rediriger vers page réelle Problèmes de référencement spécifiques à vos sites 28 Novembre 2021
Comment supprimer un onglet personnalisé (app) sur Facebook Facebook 6 Septembre 2021
Désindexer ou supprimer ? Débuter en référencement 25 Mai 2021
Supprimer événement groupe FB crée par un membre Facebook 7 Avril 2021
Comment supprimer un Pixels Facebook ? Facebook 19 Mars 2021
Supprimer la version en cache de dizaines de PDF Crawl et indexation Google, sitemaps 11 Janvier 2021
Supprimer son compte google maps pour cause d'avis négatifs YouTube, Google Images et Google Maps 10 Décembre 2020
Supprimer mon site de Similarweb ? Ou modifier les données ? Administration d'un site Web 26 Novembre 2020
RGPD : faire supprimer par Facebook l'ensemble de mes informations Droit du web (juridique, fiscalité...) 2 Novembre 2020
Search Console Supprimer des doublons Crawl et indexation Google, sitemaps 26 Octobre 2020
Contenu Obsolète supprimer ou noindex ? Débuter en référencement 16 Octobre 2020
Supprimer pages indexées Crawl et indexation Google, sitemaps 11 Octobre 2020
Supprimer des pages en moasse (avec l'accent de Gad) Crawl et indexation Google, sitemaps 5 Octobre 2020