Bonjour à toutes et tous,
Je suis vraiment pas du genre très bavard sur les forums car en général les posts des autres me renseignent énormément mais là...
Cela fait maintenant trois jours que j'essaie de trouver pourquoi ma requête ne fonctionne pas en vain...
J'arrive sans problème à dérouler ma liste d'activation qui comporte 3 choix sélectionnables mais quand j'en sélectionne un et que je clique sur le bouton confirmer mon activation ne change pas.
Du côté de phpMyAdmin je peux sans problème modifier les valeurs 0 et 1 de mes 3 lignes mais le but c'est de rendre ce choix possible depuis le navigateur d'administration.
Je vais donc vous poster les bouts de codes et espérer que vous puissiez m'aider.
En premier lieu la partie de ma classe concernée :
En 2, mes "define" correspondants :
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 // La classe Info sur le site class InfoSite { ... // Liste des activations possible public static function listeActivation() { $liste = ''; $resultat = Bdd::connectBdd()->prepare(SELECT.ALL.ACTIVATION); $resultat -> execute(); while($option = $resultat -> fetch(PDO::FETCH_ASSOC)) { if($option['activation'] === '1') { $liste .= '<option value="'.$option['id'].'" selected="selected">'.$option['mode'].'</option>'; } else { $liste .= '<option value="'.$option['id'].'">'.$option['mode'].'</option>'; } } return $liste; } // changer le mode d'activation public static function activationChange($id) { $activ = '1'; $oui = Bdd::connectBdd()->prepare(UPDATE.ACTIVATIONZ.CHANGEMETOD.ID); $oui -> bindParam(':activ', $activ); $oui -> bindParam(':id', $id, PDO::PARAM_INT, 11); if($oui -> execute()) { $desac = '0'; $non = Bdd::connectBdd()->prepare(UPDATE.ACTIVATIONZ.CHANGEMETOD.NOI); $non -> bindParam(':activ', $desac); $non -> bindParam(':id', $id, PDO::PARAM_INT, 11); $non -> execute(); } redirection('...'); } ... }
Et pour finir le formulaire correspondant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 define('SELECT', 'SELECT '); define('UPDATE', 'UPDATE '); define('ALL', '*'); define('ACTIVATION', ' FROM Activation'); define('ACTIVATIONZ', 'Activation'); define('CHANGEMETOD', ' SET activation=:activ'); define('ID', ' WHERE id=:id'); define('NOI', ' WHERE id!=:id');
Merci par avance de prendre le temps de me lire.
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 ... if(!empty($_POST['Activation'])) { InfoSite::activationChange($_POST['mode']); } include('menu.php'); echo '<div class="***"> <div class="***">configuration de l\'espace membre</div> <form action="" method="post"> <div class="***"> <div class="***">Mode d\'Activation des Membres : </div> <div class="***"><select class="***" name="destinataire"><option>Choisir un mode d\'activation</option> '.InfoSite::listeActivation().' </select></div></div> <div class="***"> <input type="submit" name="activationChange" value="Confirmer" class="***" /> </div> </form> </div>'; ...
Cordialement,
Partager