[RESOLU] Gestion d'une erreur

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 : [RESOLU] Gestion d'une erreur

Re: [RESOLU] Gestion d'une erreur

par or 1 » 14 mars 2021, 14:55

" Le problème se présente lorsque depuis ma NAVBAR je lance cette page et $_POST est NULL."
$sth->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT);
faire appel à $_POST['Id_Assos'] quand on sait que $_POST est NULL est une erreur qui ne devrait pas être masquée.

Re: Gestion d'une erreur

par JAG11 » 14 mars 2021, 10:06

Bonjour

comme mon erreur n'est pas vraiment une, et qu'il n'y pas de possibilité d'autre erreur sur cette page j'ai utilisé la ligne de code ci-dessous pour l'ignorer et cela fonctionne bien.

Code : Tout sélectionner

error_reporting(0);

Re: Gestion d'une erreur

par JAG11 » 13 mars 2021, 20:30

Ma page est appelé en par la méthode POST, voir le code tout y est.

Re: Gestion d'une erreur

par or 1 » 13 mars 2021, 15:43

$sth->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT);
si la page est appelée en méthode get et post, cela ne fonctionnera pas.

https://www.php.net/manual/fr/function.isset.php
https://www.php.net/manual/fr/language. ... on.ternary

Gestion d'une erreur

par JAG11 » 13 mars 2021, 11:36

Bonjour
dans une page php j'ai un petit formulaire qui me renvoi sur la même page une variable $_Post afin de traiter une requête et permettre l'affichage des données dans une DATATABLE. Lorsque je sélection ma donnée, dans un select, $_Post reçoit bien l'info et la requête fait son travail, ma DATATABLE affiche les données.
Le problème se présente lorsque depuis ma NAVBAR je lance cette page et $_POST est NULL.
J'aimerais gérer cette erreur qui n'en ai pas vraiment une. J'aimerais une gestion du style " si $_POST = NULL ou vide, alors on ignore" si possible.

Code : Tout sélectionner

<?php include("../Include/head.html"); include("../connect.php"); include("../Include/NavFede.html"); // On écrit notre requête $sth = $db->prepare("SELECT * FROM t_bureau INNER JOIN t_role ON t_role.Id_Role = t_bureau.Id_Role INNER JOIN t_droit ON t_droit.Id_Droit = t_bureau.Id_Droit INNER JOIN t_associations ON t_associations.Id_Assos = t_bureau.Id_Assos where t_bureau.Id_Assos=:Id_Assos order by t_role.Id_Role asc"); $sth->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT); $sth->execute(); /*Retourne un tableau associatif pour chaque entrée de notre table *avec le nom des colonnes sélectionnées en clefs*/ $resultat2 = $sth->fetchAll(PDO::FETCH_ASSOC); ?> <section> <div class="container-fluid table-responsive"> <h3 class="TitreH1">Bureau d'une association</h3> <form method="POST"> <div class="form-group row"> <label style="background-color:#DCDCDC" for="Id_Assos" class="col-md-3 col-form-label">Choix de l'association:</label> <div class="col-md-9"> <select required name="Id_Assos">; <option value="" selected disabled> Faites votre choix * </option> <?php // On inclut la connexion à la base try { include("../connect.php"); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $resultat = $db->query('SELECT Id_Assos, Nom_Assos FROM t_associations ORDER BY Nom_Assos ASC'); while ($donnees = $resultat->fetch()) { echo '<option value="' . $donnees['Id_Assos'] . '">' . $donnees['Nom_Assos'] . '</option>'; }; $resultat->execute(); $resultat->closeCursor(); require_once('../close.php') ?> </select> </div> </div> <button type="submit" class="btn btn-primary pull-right"><i class="fas fa-upload"></i> Afficher le bureau</button> </form> </div> </section> <!-- changement de section --> <section> <!--datatable--> <DIV class="container-fluid"> <br><br> <a class=" btn btn-success btn-sm" role="button" href="nouveau.php"><i class="fas fa-times-circle"></i>Ajout un membre</a> <br><br> <table id='tab' class='display compact table-responsive'> <thead> <tr class="table-secondary text-dark"> <th width="1%">id</th> <th width="3%">Roles</th>Droit <th width="3%">Droit</th> <th width="3%">Nom</th> <th width="3%">Prenom</th> <th width="20%">Identifiant</th> <th width="2%">PhotoReduit</th> <th width="2%"> Actions </th> <th width="2%"> </th> <th width="2%"> </th> </tr> </thead> <tbody> <?php foreach ($resultat2 as $produit) { ?> <tr> <td><?= $produit['Id_Bureau'] ?></td> <td><?= $produit['Roles'] ?></td> <td><?= $produit['Droit'] ?></td> <td><?= $produit['Nom'] ?></td> <td><?= $produit['Prenom'] ?></td> <td><?= $produit['Identifiant'] ?></td> <td><?php echo "<img src='" . $produit['PhotoReduit'] . "' />"; ?></td> <td><a class=" btn btn-warning btn-sm" role="button" href="edit.php?Id_Assos=<?= $produit['Id_Assos'] ?>"><i class="far fa-edit"></i> Modifier</a></td> <td><a class="btn btn-danger btn-sm" role="button" onclick="return confirm('Êtes-vous sûr de votre choix ?')" href=" delete.php?Id_Assos=<?= $produit['Id_Assos'] ?>"><i class="far fa-trash-alt"></i> Supprimer</a></td> <td><a class="btn btn-dark btn-sm" role="button" href="archiver.php?Id_Assos=<?= $produit['Id_Assos'] ?>"><i class="fas fa-archive"></i> Archiver</a></td> </tr> <?php } ?> </tbody> <tfoot> <tr class="table-secondary text-dark"> <th width="1%">id</th> <th width="3%">Roles</th>Droit <th width="3%">Droit</th> <th width="3%">Nom</th> <th width="3%">Prenom</th> <th width="20%">Identifiant</th> <th width="2%">PhotoReduit</th> <th width="2%"> Actions </th> <th width="2%"> </th> <th width="2%"> </th> </tr> </tfoot> </table> </DIV> </section> <?php //Scrypt, Fin du BODY, FIn du HtML include("../Include/ScriptJS.html"); ?>