Bonjour,
Je cherche à réaliser un petit script PHP qui va permettre de supprimer une actualité via son identifiant.
Jusque-là, j'ai vérifié si l'utilisateur a bien entré un identifiant (pas des lettres, pas de vide, un nombre positif). Actuellement, le script de suppression d'une ligne dans la table news fonctionne. Mais j'ai remarqué que si j'entre un identifiant qui n'existe pas dans la table, alors le script supprime rien mais affiche tout de même « votre actualité à bien été supprimée. »
Comment puis-je vérifier que l'identifiant saisi existe bien dans la table news ?
Voici quelques bouts de code :
Avez-vous une idée pour que l'utilisateur ne puisse pas entrer un identifiant d'une actualité qui n'existe pas dans la table news ?
Merci d'avance pour votre aide.
Modifié par SilverFox (06 Jul 2015 - 12:01)
Je cherche à réaliser un petit script PHP qui va permettre de supprimer une actualité via son identifiant.
Jusque-là, j'ai vérifié si l'utilisateur a bien entré un identifiant (pas des lettres, pas de vide, un nombre positif). Actuellement, le script de suppression d'une ligne dans la table news fonctionne. Mais j'ai remarqué que si j'entre un identifiant qui n'existe pas dans la table, alors le script supprime rien mais affiche tout de même « votre actualité à bien été supprimée. »
Comment puis-je vérifier que l'identifiant saisi existe bien dans la table news ?
Voici quelques bouts de code :
if($_POST) {
// Vérification de l'identifiant
if(!empty($_POST['newstodelete']) && is_numeric($_POST['newstodelete']) && $_POST['newstodelete'] > 0) {
require_once 'db_connect.php';
$req = $pdo->prepare('DELETE FROM news WHERE id = ?'); // on supprime l'actualité dont l'identifiant est :
$req->execute([$_POST['newstodelete']]);
$_SESSION['flash_message']['success'] = "L'actualité à bien été supprimée.";
header('Location: delete.php'); // On redirige l'utilisateur pour lui afficher le message
exit();
} else {
$_SESSION['flash_message']['danger'] = "Vous devez entrer un indentifiant valide";
header('Location: delete.php'); // On redirige l'utilisateur pour lui afficher le message
exit();
}
}
<div class="div__field">
<label for="newstodelete" class="label__backOffice">Identifiant de l'actu à supprimer</label>
<input type="number" name="newstodelete" min="0" class="input__backOffice">
</div>
<!-- Validation -->
<input type="submit" value="Supprimer l'actualité" class="submit__backoffice">
Avez-vous une idée pour que l'utilisateur ne puisse pas entrer un identifiant d'une actualité qui n'existe pas dans la table news ?
Merci d'avance pour votre aide.
Modifié par SilverFox (06 Jul 2015 - 12:01)