Requêtes non actives
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un problème dans mon code. Les 2 requêtes UPDATE ne fonctionnent pas
$sql = 'SELECT id,nom,prenom,actif FROM adherent WHERE nom LIKE \''.$nom_adh_r.'%\' ORDER BY nom';
try{
$requete = $pdo->prepare($sql);
$requete->execute();
$id = 0;
$num = 0;
echo '<tbody>';
while($var = $requete->fetch()){
$nom = stripcslashes($var['nom']);
$prenom = prenom_double($var['prenom']);
if($var['actif'] == '0'){
echo '<tr bgcolor="red">';
echo '<th scope="row">'.(++$num).'</th>';
echo '<td>'.$nom.'</td>';
echo '<td>'.$prenom.'</td>';
echo '<td class="center">';
echo '<img src="img/b_drop.png" />';
echo '</td>';
echo "<form action='adherent.php' method='post' enctype='multipart/form-data'>";
echo '<td class="center">';
?>
<input type="image" name="change" src="img/b_edit.png" value="changer" onclick="if(!confirm('Etes-vous sûr de vouloir reactiver <?php echo $prenom.' '.$nom ?>')) return false;" />
<input type="hidden" name="id" value="<?php echo $var['id']; ?>" />
<?php
echo '</td>';
echo '</form>';
echo "</tr>";
}else{
echo "<tr>";
echo '<th scope="row">'.(++$num).'</th>';
echo '<td>'.$nom.'</td>';
echo '<td>'.$prenom.'</td>';
echo '<td class="center">';
echo '<a href="gestion_adherent.php?id='.$var['id'].'&action=edit"><img src="img/b_edit.png" /></a>';
echo '</td>';
echo "<form action='adherent.php' method='post' enctype='multipart/form-data'>";
echo '<td class="center">';
//echo '<a href="gestion_adherent.php?id='.$var['id'].'&action=del"><img src="img/b_drop.png" /></a>';
?>
<input type="image" name="supp" src="img/b_drop.png" value="Supprimer" onclick="if(!confirm('Etes-vous sûr de vouloir supprimer <?php echo $prenom.' '.$nom ?>')) return false;" />
<input type="hidden" name="id" value="<?php echo $var['id']; ?>" />
<?php
echo '</td>';
echo '</form>';
echo "</tr>";
}
}
}catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($data);
}
Les requêtes
if(isset($_POST['supp'])){
$reqdel = "UPDATE adherent SET actif = :actif WHERE id = :id";
$id = $_POST['id'];
$actif = 0;
$data = array(':id'=>$id, ':actif'=>$actif);
try{
$requet = $pdo->prepare($reqdel);
$requet->execute($data);
}catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($data);
}
}
if(isset($_POST['change'])){
$reqchange = "UPDATE adherent SET actif = :actif WHERE id = :id";
$id = $_POST['id'];
$actif = 1;
$datas = array(':id'=>$id, ':actif'=>$actif);
try{
$reque = $pdo->prepare($reqchange);
$reque->execute($datas);
}catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($datas);
}
}
Merci d'avance pour votre aide
Macintosh / Chrome 105.0.0.0
Bien PHPment et MySQLment
Delaville
7 réponses
-
Bonjour,
Ajoute un var_dump de $_POST au début de ton script et montre nous ce qu'il contient.
Y retrouves tu tes variable sup ou change ?
-
-
Donc ton formulaire n'est pas envoyé.. ou alors tu l'as mal placé.
Où l'as tu mis ?
Avant le if(isset($_POST['supp'])){ j'espère...
A noter également que tu devrais placer le form dans le td ..et non autour
Il faut aussi éviter d'ouvrir/fermer des balises php inutilement..
et le multipart/form-data n'est utile que pour envoyer des fichiers sur le serveur.. ce qui n'est pas le cas ici
En gros, ton code devrait ressembler simplement à ça :
<td class="center"> <form action='adherent.php' method='post'> <input type="image" name="supp" src="img/b_drop.png" value="Supprimer" onclick="if(!confirm('Etes-vous sûr de vouloir supprimer <?php echo $prenom.' '.$nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>" /> </form> </td> -
Ok , je regardera ça mais pas avant lundi. Je te tiendrai au courant.
Merci
Bon WE
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour j'ai fait comme ça, ça ne fait rien
<div class="row"> <div class="col-md-8"> <?php echo "<form action='adherent.php' method='post'>"; if(isset($_POST['rechercher'])) { $nom_adh_r = $_POST['nom_adh_r']; }else{ $nom_adh_r = ''; } echo "<table border='0'>"; echo "<tr>"; echo "<td>Nom :</td>"; echo "<td><input type='text' name='nom_adh_r' size='20' value=\"".$nom_adh_r."\" /></td>"; echo "<td><input class='button_v' type='submit' name='rechercher' size='20' value='Rechercher'></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; ?> <hr> <a href="gestion_adherent.php"><img src="img/adds.png" /></a> Ajouter un adhérent <hr> <div align='left'><b>Liste des adhérents</b></div> <br /> <table class="table table-hover"> <thead> <tr> <th scope="col">Numéro</th> <th scope="col">Nom</th> <th scope="col">Prénom</th> <th scope="col" class="center">Modifier</th> <th scope="col" class="center">Supprimer</th> </tr> </thead> <?php //la requet $sql = 'SELECT id,nom,prenom,actif FROM adherent WHERE nom LIKE \''.$nom_adh_r.'%\' ORDER BY nom'; try{ $requete = $pdo->prepare($sql); $requete->execute(); $id = 0; $num = 0; echo '<tbody>'; while($var = $requete->fetch()){ $nom = stripcslashes($var['nom']); $prenom = prenom_double($var['prenom']); if($var['actif'] == '0'){ ?> <tr style="background-color:red;"> <th scope="row"><?php echo (++$num); ?></th> <td><?php echo $nom; ?></td> <td><?php echo $prenom; ?></td> <td class="center"> <img src="img/b_drop.png" /> </td> <td class="center"> <form action='adherent.php' method='post'> <input type="image" name="change" src="img/b_edit.png" value="changer" onclick="if(!confirm('Etes-vous sûr de vouloir reactiver <?php echo $prenom.' '.$nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>"> </form> </td> </tr> <?php }else{ ?> <tr> <th scope="row"><?php echo (++$num); ?></th> <td><?php echo $nom; ?></td> <td><?php echo $prenom; ?></td> <td class="center"> <a href="gestion_adherent.php?id=<?php echo $var['id']; ?>&action=edit"><img src="img/b_edit.png" /></a> </td> <td class="center"> <form action='adherent.php' method='post'> <input type="image" name="supp" src="img/b_drop.png" value="Supprimer" onclick="if(!confirm('Etes-vous sûr de vouloir supprimer <?php echo $prenom.' '.$nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>"> </form> </td> </tr> <?php } } }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($data); } ?> </tbody> </table> <?php if(isset($_POST['supp'])){ $reqdel = "UPDATE adherent SET actif = :actif WHERE id = :id"; $id = $_POST['id']; $actif = 0; $data = array(':id'=>$id, ':actif'=>$actif); try{ $requet = $pdo->prepare($reqdel); $requet->execute($data); }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($data); } } if(isset($_POST['change'])){ $reqchange = "UPDATE adherent SET actif = :actif WHERE id = :id"; $id = $_POST['id']; $actif = 1; $datas = array(':id'=>$id, ':actif'=>$actif); try{ $reque = $pdo->prepare($reqchange); $reque->execute($datas); }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } } ?> </div> </div>Merci d'avance pour ton aide
-
<?php //fichier adherent.php //------------------------------// //affichage des erreurs PHP // voir : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); echo "Juste le temps des tests :<br>"; var_dump($_POST); //Traitement des formulaires if (isset($_POST['supp'])) { $reqdel = "UPDATE adherent SET actif = :actif WHERE id = :id"; $id = $_POST['id']; $actif = 0; $data = array(':id' => $id, ':actif' => $actif); try { $requet = $pdo->prepare($reqdel); $requet->execute($data); } catch (Exception $e) { echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($data); } } if (isset($_POST['change'])) { $reqchange = "UPDATE adherent SET actif = :actif WHERE id = :id"; $id = $_POST['id']; $actif = 1; $datas = array(':id' => $id, ':actif' => $actif); try { $reque = $pdo->prepare($reqchange); $reque->execute($datas); } catch (Exception $e) { echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($datas); } } //Requete pour liste les adhérents $sql = "SELECT id,nom,prenom,actif FROM adherent WHERE nom LIKE '" . $nom_adh_r . "%' ORDER BY nom"; try { $requete = $pdo->prepare($sql); $requete->execute(); } catch (Exception $e) { echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($data); } ?> <div class="row"> <div class="col-md-8"> <?php echo "<form action='adherent.php' method='post'>"; if (isset($_POST['rechercher'])) { $nom_adh_r = $_POST['nom_adh_r']; } else { $nom_adh_r = ''; } echo "<table border='0'>"; echo "<tr>"; echo "<td>Nom :</td>"; echo "<td><input type='text' name='nom_adh_r' size='20' value=\"" . $nom_adh_r . "\" /></td>"; echo "<td><input class='button_v' type='submit' name='rechercher' size='20' value='Rechercher'></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; ?> <hr> <a href="gestion_adherent.php"><img src="img/adds.png" /></a> Ajouter un adhérent <hr> <div align='left'><b>Liste des adhérents</b></div> <br /> <table class="table table-hover"> <thead> <tr> <th scope="col">Numéro</th> <th scope="col">Nom</th> <th scope="col">Prénom</th> <th scope="col" class="center">Modifier</th> <th scope="col" class="center">Supprimer</th> </tr> </thead> <?php $id = 0; $num = 0; echo '<tbody>'; while ($var = $requete->fetch()) { $nom = stripcslashes($var['nom']); $prenom = prenom_double($var['prenom']); if ($var['actif'] == '0') { ?> <tr style="background-color:red;"> <th scope="row"><?php echo (++$num); ?></th> <td><?php echo $nom; ?></td> <td><?php echo $prenom; ?></td> <td class="center"> <img src="img/b_drop.png" /> </td> <td class="center"> <form action='' method='post'> <input type="image" name="change" src="img/b_edit.png" value="changer" onclick="if (!confirm('Etes-vous sûr de vouloir reactiver <?php echo $prenom . ' ' . $nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>"> </form> </td> </tr> <?php } else { ?> <tr> <th scope="row"><?php echo (++$num); ?></th> <td><?php echo $nom; ?></td> <td><?php echo $prenom; ?></td> <td class="center"> <a href="gestion_adherent.php?id=<?php echo $var['id']; ?>&action=edit"><img src="img/b_edit.png" /></a> </td> <td class="center"> <form action='' method='post'> <input type="image" name="supp" src="img/b_drop.png" value="Supprimer" onclick="if (!confirm('Etes-vous sûr de vouloir supprimer <?php echo $prenom . ' ' . $nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>"> </form> </td> </tr> <?php } } ?> </tbody> </table> </div> </div>
-
Ne fonctionne toujours pas. je ne vois pas l'erreur
Le var_dump :
Juste le temps des tests :
array(3) { ["change_x"]=> string(2) "10" ["change_y"]=> string(1) "6" ["id"]=> string(1) "8" }
Notice: Undefined variable: nom_adh_r in /home/**************/adherent.php on line 43Le code complet
<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); session_start(); if(isset($_SESSION['log']) and $_SESSION['sa'] == 1) { include ('entete.php'); echo "Juste le temps des tests :<br>"; var_dump($_POST); if (isset($_POST['supp'])) { $reqdel = "UPDATE adherent SET actif = :actif WHERE id = :id"; $id = $_POST['id']; $actif = 0; $data = array(':id' => $id, ':actif' => $actif); try { $requet = $pdo->prepare($reqdel); $requet->execute($data); } catch (Exception $e) { echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($data); } } if (isset($_POST['change'])) { $reqchange = "UPDATE adherent SET actif = :actif WHERE id = :id"; $id = $_POST['id']; $actif = 1; $datas = array(':id' => $id, ':actif' => $actif); try { $reque = $pdo->prepare($reqchange); $reque->execute($datas); } catch (Exception $e) { echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($datas); } } $sql = "SELECT id,nom,prenom,actif FROM adherent WHERE nom LIKE '" . $nom_adh_r . "%' ORDER BY nom"; try { $requete = $pdo->prepare($sql); $requete->execute(); } catch (Exception $e) { echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($data); } ?> <div class="row"> <div class="col-md-8"> <?php echo "<form action='adherent.php' method='post'>"; if(isset($_POST['rechercher'])) { $nom_adh_r = $_POST['nom_adh_r']; }else{ $nom_adh_r = ''; } echo "<table border='0'>"; echo "<tr>"; echo "<td>Nom :</td>"; echo "<td><input type='text' name='nom_adh_r' size='20' value=\"" . $nom_adh_r . "\" /></td>"; echo "<td><input class='button_v' type='submit' name='rechercher' size='20' value='Rechercher'></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; ?> <hr> <a href="gestion_adherent.php"><img src="img/adds.png" /></a> Ajouter un adhérent <hr> <div align='left'><b>Liste des adhérents</b></div> <br /> <table class="table table-hover"> <thead> <tr> <th scope="col">Numéro</th> <th scope="col">Nom</th> <th scope="col">Prénom</th> <th scope="col" class="center">Modifier</th> <th scope="col" class="center">Supprimer</th> </tr> </thead> <?php $id = 0; $num = 0; echo '<tbody>'; while($var = $requete->fetch()){ $nom = stripcslashes($var['nom']); $prenom = prenom_double($var['prenom']); if($var['actif'] == '0'){ ?> <tr style="background-color:red;"> <th scope="row"><?php echo (++$num); ?></th> <td><?php echo $nom; ?></td> <td><?php echo $prenom; ?></td> <td class="center"> <img src="img/b_drop.png" /> </td> <td class="center"> <form action='' method='post'> <input type="image" name="change" src="img/b_edit.png" value="changer" onclick="if(!confirm('Etes-vous sûr de vouloir reactiver <?php echo $prenom.' '.$nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>"> </form> </td> </tr> <?php }else{ ?> <tr> <th scope="row"><?php echo (++$num); ?></th> <td><?php echo $nom; ?></td> <td><?php echo $prenom; ?></td> <td class="center"> <a href="gestion_adherent.php?id=<?php echo $var['id']; ?>&action=edit"><img src="img/b_edit.png" /></a> </td> <td class="center"> <form action='' method='post'> <input type="image" name="supp" src="img/b_drop.png" value="Supprimer" onclick="if(!confirm('Etes-vous sûr de vouloir supprimer <?php echo $prenom.' '.$nom ?>')) return false;" /> <input type="hidden" name="id" value="<?php echo $var['id']; ?>"> </form> </td> </tr> <?php } } ?> </tbody> </table> </div> </div> <?php include ('footer.php'); }else{ //il n'existe pas de connexion, on revoie la page erreur header('location:erreur.php'); } ?>