Re ; les codes sont comme suite:
page tab.php:
envoi le contenu du cdec et supprimer
1 2 3 4 5 6 7 8
|
.........
<td><form method="post" action="suppr.php">
<input type="hidden" name="cdec" value="<?php echo $list['cdec'];?>" />
<input type="hidden" name="action" value="supprimer" />
<input type="image" src="../image/delete.png" alt="supprimer" name="del_img">
</form>
</td> |
la page supr.php:
traite l’opération de suppression ( confirmation ensuite suppression....)
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
<?php
// Action par défaut
$action = 'supprimer';
$cdec='';
if (isset($_POST['action'], $_POST['cdec']) && $_POST['action'] === 'supprimer') {
$cdec = $_POST['cdec'];
$action = 'supprimer_conf';
echo 'bien dans la boucle if ';
}
elseif (isset($_POST['action'], $_POST['cdec']) && $_POST['action'] === 'supprimer_conf') {
// Vérification de la valeur de cdec (filter_input)
echo 'bien dans la boucle else if';
// $cdec=36;
$int_options = array("options"=> array("min_range"=>0, "max_range"=>1000000000));
$verif=filter_var($cdec, FILTER_VALIDATE_INT, $int_options);
// Si la valeur est correcte
if ($verif !== FALSE) {
// Suppression / Requête SQL
$supenreg=$cbd->prepare('DELETE FROM tab where cdec=:cdec ');
$supenreg->bindParam(':cdec', $cdec , PDO::PARAM_INT);
try {
// On envois la requète
$supenreg->execute();
// libèré la connexion du serveur
$supenreg->closeCursor();
header ('location: ../interfaces/tab.php');
}
catch( Exception $e )
{
echo 'Erreur d\'affichage : ', $e->getMessage();
}
// Redirection
header('Location: ../interfaces/tab.php');
}
}
?>
<!DOCTYPE html>
<HTML>
<head>
........
</head>
<body>
<?php echo $_POST['cdec'];echo $_POST['action'] ; ?> // pour vérifier le contenu transmis de tab.php
<div>
<table>
<th>Confirmation de suppression de l'enregistrement</th>
<form method="post" action="suppr.php">
<input type="hidden" name="action" value="<?php echo $action;?>" />
<input type="hidden" name="cdec" value="<?php echo $cdec; ?>" />
<input type="submit" name="action" value="Supprimer">
<a href="../interfaces/tab.php">Annuler</a>
</form>
</table>
</div>
</body>
</html> |
le débogage donne ce qui suit:
L’utilisateur clique sur l'icone de suppression dans la page tab.php.
la page suppr.php s'affiche avec message de confirmation de suppression:
le contenu de $_POST['cdec'] et $_POST['action'] sont bien transmis.
aussi en entre dans la boucle if
fin d'affichage de la page suppr.php.
L'utilisateur clique sur le boutton supprimer :
rien ne se passe !!!!!
si je met la valeur de $cdec=36 dans le elseifl le code s'exécute parfaitement
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
|
.......
// Vérification de la valeur de cdec (filter_input)
echo 'bien dans la boucle else if';
$cdec=36; // initiation de la valeur existante dans la bdd pour testé l'exécution
$int_options = array("options"=> array("min_range"=>0, "max_range"=>1000000000));
$verif=filter_var($cdec, FILTER_VALIDATE_INT, $int_options);
// Si la valeur est correcte
if ($verif !== FALSE) {
// Suppression / Requête SQL
$supenreg=$cbd->prepare('DELETE FROM tab where cdec=:cdec ');
$supenreg->bindParam(':cdec', $cdec , PDO::PARAM_INT);
try {
// On envois la requète
$supenreg->execute();
// libèré la connexion du serveur
$supenreg->closeCursor();
header ('location: ../interfaces/tab.php');
}
catch( Exception $e )
{
echo 'Erreur d\'affichage : ', $e->getMessage();
}
// Redirection
header('Location: ../interfaces/tab.php');
}
} |
donc la $cdec retourne avec une valeur nulle !!!!!!!!!
Partager