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");
?>
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]
<?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");
?>
[/code]