IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] Suppression dans une base


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut [Conception] Suppression dans une base
    Bonjour,

    J'ai un léger problème de suppression dans une base. Cela ne supprime rien du tout...

    Quelqu'un aurait une idée car là je nage un peu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    <?php
    session_start();
    require("protect/conf.php");
     
    if (!isset($_SESSION['pseudo']))
    {
    	echo("<script language=\"javascript\">location=\"index.php?page=acces_interdit\";</script>");
    }
     
    $sql = connect_sql();
    $pseudo = $_SESSION['pseudo'];
    $reponse = mysql_query ("SELECT * FROM membres WHERE pseudo='$pseudo'"); 
    $donnees = mysql_fetch_array ($reponse);
     
    if (isset($_GET['confirm_suppr']))
    {
    	$sql = connect_sql();
        mysql_query('DELETE * FROM membres WHERE id=' . $_GET['confirm_suppr']);
    	mysql_close($sql);
     
    if($sql) 
        {
    	print "<script>window.location='./index.php?page=suppr_succes';</script>";
    	}
      else
      {
        print "<script>window.location='./index.php?page=erreur';</script>";
      }}
    ?>
    Voici le lien qui me permet de supprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=confirm_suppr&id=<?php echo $id; ?>">Oui</a>

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    $_GET ne contient pas 'confirm_suppr', mais 'page'

  3. #3
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    ça ne serait pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE * FROM membres WHERE id=' . $_GET['id']);

  4. #4
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    bonjour,

    Essais peut etre ca, car je pense que tu te trompe dans le test de tes variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (isset($_GET['page']) && $_GET['page'] == 'confirm_suppr') {
     
       $sql = connect_sql();
        mysql_query('DELETE * FROM membres WHERE id=' . $_GET['id']);
       mysql_close($sql);
    ...

  5. #5
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, pour un DELETE, il me semble que la syntaxe serait plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE FROM membres WHERE id='.$_GET['id']);
    sans *

    Bon développement

    PS : n'oublie de faire les vérifications qui vont bien pour pouvoir utiliser $_GET['id']

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    J'ai modifié cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE * FROM membres WHERE id=' . $_GET['confirm_suppr']);
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE FROM membres WHERE id='.$_GET['id']);
    Et par les autres propositions mais cela ne change rien...

    Je ne comprends pas, je precise bien que si l'on clique sur le lien, on supprime les champs de la base mais rien y fait...

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    TucSale et Mr N. parleraient-ils aux murs ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Non du tout mais j'ai bien précisé que les autres propositions ne fonctionnent pas non-plus.

    Pour info, vous avez oublié "ska_root" dans votre liste...

  9. #9
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Fais voir ton code corrigé.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Voici le code de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
    session_start();
    require("protect/conf.php");
     
    if (!isset($_SESSION['pseudo']))
    {
    	echo("<script language=\"javascript\">location=\"index.php?page=acces_interdit\";</script>");
    }
     
    $sql = connect_sql();
    $pseudo = $_SESSION['pseudo'];
    $reponse = mysql_query ("SELECT * FROM membres WHERE pseudo='$pseudo'"); 
    while ($var = mysql_fetch_array ($reponse))	 
    {
    $id = $var['id'];
     
    if (isset($_GET['confirm_suppr&id']))
    {
    $sql = connect_sql();
        mysql_query('DELETE FROM membres WHERE id=' . $_GET['confirm_suppr&id']);
    mysql_close($sql);
     
    if($sql) 
        {
    	print "<script>window.location='./index.php?page=suppr_succes';</script>";
    	}
      else
      {
        print "<script>window.location='./index.php?page=erreur';</script>";
      }}
    ?>
    Le lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ <a href="index.php?page=confirm_suppr&id=<?php echo $id; ?>">Oui</a> ]
    Pour info, lorsque je clique sur le lien la page s'actualise comme si le lien n'était pas actif...

  11. #11
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    bonjour,

    euh.... y aurait pas une erreur la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE FROM membres WHERE id=' . $_GET['confirm_suppr&id=']);
    ce ne serait pas plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE FROM membres WHERE id=' . $_GET['id=']);

  12. #12
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_GET['confirm_suppr&id=']))
    C'est quoi ça ? J'ai comme l'impression qu'il manque des notions de bases là

    Relis mieux la proposition de TucSale...

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    erreur de ma part mais de suite corrigé...

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    si mes notions de bases sont absentes, vous pouvez m'expliquez pourquoi comme cela ça fonctionne alors???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    if (isset($_GET['supprimer']))
    {
    	$sql = connect_sql();
        mysql_query('DELETE FROM membres WHERE id=' . $_GET['supprimer']);
    	mysql_close($sql);
    }
    Avec ce lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="confirm_suppr.php?supprimer=<?php echo $id; ?>">Supprimer</a>

  15. #15
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    ca fonctionne car tu teste si tu as bien ta variable $_GET['supprimer']
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_GET['supprimer']))
    puis pour ta requette de suppression tu prends la valeur de ta variable $_GET['supprimer'].

  16. #16
    Membre chevronné Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php 
    session_start(); 
    require("protect/conf.php"); 
     
    if (!isset($_SESSION['pseudo'])) 
    { 
       echo("<script language=\"javascript\">location=\"index.php?page=acces_interdit\";</script>"); 
    } 
     
    $sql = connect_sql(); 
    $pseudo = $_SESSION['pseudo']; 
    $reponse = mysql_query ("SELECT * FROM membres WHERE pseudo='$pseudo'"); 
    while ($var = mysql_fetch_array ($reponse))    
    { 
    $id = $var['id']; 
     
    if (isset($_GET['confirm_suppr']) && isset($_GET['id'])) 
    { 
    $sql = connect_sql(); 
        mysql_query('DELETE FROM membres WHERE id=' . $_GET['id']); 
    mysql_close($sql); 
     
    if($sql) 
        { 
       print "<script>window.location='./index.php?page=suppr_succes';</script>"; 
       } 
      else 
      { 
        print "<script>window.location='./index.php?page=erreur';</script>"; 
      }} 
    ?>
    devrait fonctionner... ^^

  17. #17
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Toujours pas... ^^
    Enfin tout dépend de l'url qui appelle ce script...

  18. #18
    Membre chevronné Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Par défaut
    Je n'ai pas détaillé, mais j'ai modifié ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_GET['confirm_suppr&id']))
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE FROM membres WHERE id=' . $_GET['confirm_suppr&id']);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_GET['confirm_suppr']) && isset($_GET['id']))
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('DELETE FROM membres WHERE id=' . $_GET['id']);
    et c'est "appelable" par la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?confirm_suppr=oui&id=<?php echo $id; ?>">Oui</a>
    Sinon, si cela ne marche toujours pas, merci de préciser les erreurs renvoyées... ^^

  19. #19
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    On est d'accord alors 8)

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Ca j'avais bien capté mais de cette maniere, cela ne m'arrange pas...

    C'est pour cela que je demande si quelqu'un aurait une idée si je procede d'une autre maniere...

    en ayant modifié de cette maniere...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if (isset($_GET['page']))
    {
    $sql = connect_sql();
    mysql_query('DELETE FROM membres WHERE membres.id=' . $_GET['id']);
    mysql_close($sql);
    }
    if($sql) 
        {
    	print "<script>window.location='./index.php?page=suppr_succes';</script>";
    	}
      else
      {
        print "<script>window.location='./index.php?page=erreur';</script>";
      }
    ?>
    Il me précise bien que le compte a été supprimé avec succes mais rien ne se passe dans la bdd...

Discussions similaires

  1. Suppression dans une base
    Par agosmel dans le forum HyperFileSQL
    Réponses: 0
    Dernier message: 07/04/2010, 12h38
  2. [10g] Suppression dans une base
    Par ApprentiOracle dans le forum Administration
    Réponses: 15
    Dernier message: 18/12/2008, 15h47
  3. [Conception] images dans une base de données
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/06/2006, 15h05
  4. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 10h58
  5. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo