[PHP] - Supression de données via ComboBox

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 : [PHP] - Supression de données via ComboBox

Re: [PHP] - Supression de données via ComboBox

par Arkhall » 26 août 2015, 15:40

On fait comment pour ce "TeamViewer" ? Je suis nouveau ici donc je connais pas ^^

Re: [PHP] - Supression de données via ComboBox

par Elie » 26 août 2015, 14:33

Bah maintenant il faut juste savoir débugger ca ...
Est-ce que $_POST['joueur'] retourne bien un chiffre ?
Est-ce réellement utilse de passe idJoueur via bindValue ...
<?php //Supression du joueur.
    if(isset($_POST['delete']) && isset($_POST['joueur'])) {
       $reponseC = $db->prepare("DELETE FROM joueur WHERE JOU_ID = ?");
        if (!$reponseC->execute(array$_POST['joueur']))) {
            echo 'ERREUR SUPPRESSION JOUEUR ID '.$_POST['joueur'];
        }
    }
?>
Comme d'hab par teamviewer c'est plus facile d'y voir clair :)

Re: [PHP] - Supression de données via ComboBox

par Arkhall » 26 août 2015, 14:27

<input type="submit" name="delete" value="Supprimer">

    <?php //Supression du joueur.
    if(isset($_POST['delete']) && isset($_POST['joueur'])) {
       $reponseC = $db->prepare("DELETE FROM joueur WHERE JOU_ID =:idJoueur");
       $reponseC->bindValue('idJoueur',$_POST['joueur'],PDO::PARAM_INT); //Permet d'associer une valeur à un paramètre.,
        if (!$reponseC->execute()) {
            echo 'ERREUR SUPPRESSION JOUEUR ID '.$_POST['joueur'];
        }
    }
?>
Je pouvais pas faire de jointure avec un DELETE alors j'ai procédé ainsi mais j'ai toujours la même erreur "Uncaught Exception"....
Mais merci en tout cas pour l'erreur de syntaxe :)

Re: [PHP] - Supression de données via ComboBox

par Elie » 26 août 2015, 14:18

:=idJoueu ...

=:idJoueu better ...

[PHP] - Supression de données via ComboBox

par Arkhall » 26 août 2015, 13:19

Hello, voici mon code.
$reponseA = $db->query("SELECT EQU_ID, EQU_NOM FROM equipes");
?>

<form method="POST">
    <select name="equipes" id="equipes">

        <?php
        while($data = $reponseA->fetch()){
            echo "<option value=" . $data['EQU_ID'] . "'>". $data['EQU_NOM']."</option>";
        }
        ?>
    </select>
        <?php
        if(isset($_POST['submit'])) {
            //Préparation de la requête lorsqu'on permet à une valeur d'être entrée via PHP, donc l'insertion d'une variable.
            //Au moment de la préparation, j'ai mis un marqueur "?" au niveau du WHERE. PDO me dira qu'il attend un paramètre.
            $reponseB = $db->prepare("SELECT JOU_ID, JOU_PSEUDO FROM joueur LEFT JOIN integre ON JOU_ID = INT_JOU_ID LEFT JOIN equipes ON EQU_ID = INT_EQU_ID WHERE EQU_ID = ?");
            $reponseB->execute(array($_POST['equipes']));
    if (!empty($_POST['equipes'])) {
        echo "<select name=\"joueur\">";
        while ($data = $reponseB->fetch()) {
            echo "<option value = " . $data['JOU_ID'] . ">" . $data['JOU_PSEUDO'] . "</option>";
         }
    }
}
        ?>
    </select>
    <input type="submit" name="submit" value="Rechercher les joueurs">
    <input type="submit" name="delete" value="Supprimer">

    <?php //Supression du joueur.
    if(isset($_POST['delete']) && isset($_POST['joueur'])) {
        $reponseC = $db->prepare("DELETE FROM joueur LEFT JOIN integre ON JOU_ID = INT_JOU_ID WHERE JOU_ID :=idJoueur");
        $reponseC->bindValue('idJoueur',$_POST['joueur'],PDO::PARAM_INT); //Permet d'associer une valeur à un paramètre.,
        if (!$reponseC->execute()); { //Si la suppression ne s'exécute pas, l'erreur suivante s'affiche.
           echo 'ERREUR SUPPRESSION JOUEUR ID '.$_POST['joueur'];
         }
    }
?>

Le principe est le suivant, je sélectionne une équipe $reponseA qui va me les sortir dans une première comboBox. Après avoir cliqué sur le boutton "Rechercher les joueurs", il me recherche les joueurs de l'équipe que j'ai sélectionné grâce à une autre requête dont la variable s'appelle $réponseB. Jusque là tout va bien.

Problème :

La variable $réponseC qui est censé supprimer le joueur que j'ai envie de sélectionner dans la comboBox ne marche pas et me sort un Uncaught Exception et je sais jamais comment les interpréter. Apparemment c'est dans la ligne où il y a le !execute affichant le message d'erreur d'où vient le problème.