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

Langage PHP Discussion :

Probléme de suppression dans la BDD


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Probléme de suppression dans la BDD
    Salut,

    Je suis entrain de créer un scripte de bloc-notes pour la partie admin d'un site, j'ai actuellement ce code, il me rajoute bien les donner dans ma BDD et les affichent bien mais quand je désire supprimer une donnée en cliquant sur la petite croix rouge, rien ne se passe et une page avec juste la couleur de mon background s'affiche....

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
     
    <?php 
    session_start();
    include('./info_db.php');
     
    ?>
     
    <h1>Le Bloc-notes</h1>
    <center><a href="accueil-admin.html">Retour</a></center>
    <div id="cadre_gauche">
    <?php
     
    if($_POST['texte'] )
    {
       $texte = $_POST['texte'];
       $timestamp = intval($_POST['timestamp']);
       $pseudo = $_SESSION['pseudo'];
     
       $texte_protege = htmlspecialchars($texte);
     
       mysql_query("INSERT INTO bloc_notes VALUES('','$timestamp','$pseudo','$texte_protege')") or die(mysql_error());
    }
     
     
    if($_GET['supprimer_note'] AND $_GET['supprimer_note'] > 0)
    {
       mysql_query("DELETE FROM bloc_notes WHERE id=" .intval( $_GET['supprimer_note'] ). "")or die(mysql_error());
       echo' La note a bien étè supprimé !';
     
    }
     
     
    $retour = mysql_query("SELECT * FROM bloc_notes ORDER BY id DESC") or die(mysql_error());
     
    while($donnees = mysql_fetch_array($retour))
    {  
    ?>
    #<?php echo $donnees['id'];?> - Posté par <?php echo $donnees['pseudo'];?> le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']);?> <?php echo '<a href="bloc-note.html?supprimer_note=' . $donnees['id'] . '">'; ?><img src="./images/delete.png" alt="delete"/></a><br />
    <?php echo $donnees['texte'];?><br />
     
    <?php
    }
     
    ?>
     
    </div>
     
    <div id="cadre_droite">
     
     
    <form action="bloc-notes.html" method="post">
    <p>
        <textarea name="texte" cols="50" rows="10">
        </textarea><br />
     
        <input type="hidden" name="timestamp" value="<?php echo time(); ?>" />
    	<input type="hidden" name="pseudo" value="<?php echo $_SESSION['pseudo']; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
     
     
    </div>
    Le nom exacte de ma page est index.php?page=bloc_notes mais grace à l'url rewriting, elle s'appelle désormais bloc-notes.html
    Cela ne fonctionnait déja pas lorsque l'url rewriting n'était pas mis en place...
    Merci d'avance
    +++
    knellle

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    As-tu controlé ce que contenait $_GET a la reception du formulaire ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Que veux tu dire par là, je ne comprends par, montre moi un exemple stp

  4. #4
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    J'ai peux étre compris, tu voudrais savoir se que vaux echo'$_GET['supprimer_note']'; et bien justement cela n'affiche rien... J'ai toujours une page avec juste le background...

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Heu si tu as vraiment ecrit ça et que ca n'affiche rien y'a un gros soucis parce que PHPistiquement c'est incorrect et tu devrais avoir une belle erreur en plein milieu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_GET['supprimer_note']
    ca sera mieux. Mais bon je suppose que tu l'avais bien écrit dans ton test

    Mais commencer par ne pas faire ton url-rewriting parce que ca ajoute une couche de probleme supplementaire.
    Ton code fonctionne chez moi en tout cas.

    Tu as bien vérifié que ton lien se construit correctement ?
    Tu as bien bloc-note.html?supprimer_note=une_valeur ?

    Heu sinon c'est pas beau cette facon d'ouvrir et fermer le code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while($donnees = mysql_fetch_array($retour))
    {  
    echo $donnees['id'] . ' - Posté par ' . $donnees['pseudo'] . ' le ' . date('d/m/Y à H\hi', $donnees['timestamp']) . '<a href="bloc-note.html?supprimer_note=' . $donnees['id'] . '"><img src="./images/delete.png" alt="delete"/></a><br />' . $donnees['texte']. '<br />';
     
    }
    C'est pas plus jolie ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    je debute,
    j'ai remarqué que tu passer ton formulaire en $_POST
    et que tu passe des varriable en $_GET sa peut poser problème non ??

  7. #7
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Oui dans mon texte c'était bien écrit

    J'ai donc enlevé l'url en url rewriting pour la remettre en normal et donc maintenant quand je clique sur supprimer, j'ai toujours le même probléme...
    J'ai l'adresse qui s'affiche dans ma barre d'adresse :

    http://localhost/oha/admin/index.php...pprimer_note=8

    J'ai vérifié et le chiffre change bien en fonction de l'id...
    la couleur du background s'affiche aussi mais pas de suppression n'y de message de confirmation...
    Voila mon code
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    !--SECURISATION PAGE HEADER-->
    <?php 
    session_start();
    include('./info_db.php');
    if (isset($_SESSION['pseudo']))
    {
    ?>
    <!------------------------------------------------>
     
    <h1>Le Bloc-notes</h1>
    <center><a href="accueil-admin.html">Retour</a></center>
    <div id="cadre_gauche">
    <?php
     
    echo $_GET['supprimer_note'];
     
    if($_POST['texte'] )
    {
       $texte = $_POST['texte'];
       $timestamp = intval($_POST['timestamp']);
       $pseudo = $_SESSION['pseudo'];
     
       $texte_protege = htmlspecialchars($texte);
     
       mysql_query("INSERT INTO bloc_notes VALUES('','$timestamp','$pseudo','$texte_protege')") or die(mysql_error());
    }
     
     
    if($_GET['supprimer_note'] AND $_GET['supprimer_note'] > 0)
    {
       mysql_query("DELETE FROM bloc_notes WHERE id=" .intval( $_GET['supprimer_note'] ). "")or die(mysql_error());
       echo' La note a bien étè supprimé !';
     
    }
     
     
    $retour = mysql_query("SELECT * FROM bloc_notes ORDER BY id DESC") or die(mysql_error());
     
    while($donnees = mysql_fetch_array($retour))
    {  
    ?>
    #<?php echo $donnees['id'];?> - Posté par <?php echo $donnees['pseudo'];?> le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']);?> <?php echo '<a href="index.php?page=bloc_notes?supprimer_note=' . $donnees['id'] . '">'; ?><img src="./images/delete.png" alt="delete"/></a><br />
    <?php echo $donnees['texte'];?><br />
     
    <?php
    }
     
    ?>
     
    </div>
     
    <div id="cadre_droite">
     
     
    <form action="bloc-notes.html" method="post">
    <p>
        <textarea name="texte" cols="50" rows="10">
        </textarea><br />
     
        <input type="hidden" name="timestamp" value="<?php echo time(); ?>" />
    	<input type="hidden" name="pseudo" value="<?php echo $_SESSION['pseudo']; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
     
     
    </div>
     
    <!--SECURISATION PAGE FOOTER-->
    <?php	
    }
    else
    {
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">	
    <html>
       <head>
           <title>OHA - Redirection</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    	    <meta name="verify-v1" content="E/TkfHwf9xakNtKJZBFL0r67O1tVvEdkMS1ZxLzP2ZE=" />
     
     
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="./style_admin.css" />
     
    	   <link rel="icon" type="image/x-icon" href="http://oha.shos.fr/images/favicon.ico" />
            <!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="http://oha.shos.fr/images/favicon.ico" /><![endif]-->
     
     
       </head>
       <body>
     
            <center><div id="no_connect"><p>Vous n êtes pas connecté <br />
            <a href="connexion.html">Se connecter</a><br />
    		<meta http-equiv="refresh" content="5;url=connexion.html"></p></div></center>
    		<p id="redirec">Vous allez être re-dirigez vers la page de connexion dans 5 secondes</p>
     
     
    </body>
    </html>
     
    <?php		
    }
    ?>
    Le code commenté "securisation" sert pour que seul les admins voient cette page.
    Voila merci déjà pour ton aide

    EDIT : @madmax57 : non pas du tout car le $_POST c'est pour entrer mes données dans la BDD tandis que le $_GET sert seulement à la suppresion, mais oui je peux faire un essai en transmetant les valeurs pour la suppression en $_POST même si on voit rarement ça ^^

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut separer les variables par & dans le lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '<a href="index.php?page=bloc_notes&supprimer_note='
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup pour ton aide, j'ai vraiment fait une énorme étourderie
    Cela fonctionne maintenant ^^
    ++++

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Héhé je l'ai repéré parce que ça m'est déjà arrivé
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Ok lol , maintenant je repérerais cette erreur aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de sélection dans un BDD
    Par calenfeaion dans le forum Requêtes
    Réponses: 8
    Dernier message: 16/09/2006, 16h54
  2. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15
  3. [MySQL] upload : problème fichiers existants dans la bdd ?
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/02/2006, 11h29
  4. [Jtable] problème de suppression dans une Jtable
    Par gianni17 dans le forum Composants
    Réponses: 1
    Dernier message: 02/12/2005, 18h36
  5. Problème de suppression dans une table
    Par Splinter dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/10/2005, 10h55

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