Système de news, l'édition ne fonctionne pas
Résolu
Geopra
Messages postés
187
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai créé un petit système de news pour mon site, avec un lien pour éditer la news, le soucis, c'est que lorsque j'en modifie une, toutes les news se modifient, et prennent la même valeur que l'initiale...
J'imagine qu'il s'agit d'une erreur au niveau de l'id de la news, mais je ne vois pas d'où elle pourrait provenir... :)
Voici le code :
Merci d'avance pour votre aide ! :)
J'ai créé un petit système de news pour mon site, avec un lien pour éditer la news, le soucis, c'est que lorsque j'en modifie une, toutes les news se modifient, et prennent la même valeur que l'initiale...
J'imagine qu'il s'agit d'une erreur au niveau de l'id de la news, mais je ne vois pas d'où elle pourrait provenir... :)
Voici le code :
<?php if(!empty($_POST)){ $erreurs = array(); if(empty($_POST['news_title'])){ $erreurs['news_title'] = "Pas de titre !"; } if(empty($_POST['news_content'])){ $erreurs['news_content'] = "Pas de contenu !"; } if(empty($erreurs)){ $req = $pdo->prepare("UPDATE news SET news_title = ?, news_content = ?"); $req->execute([$_POST['news_title'], $_POST['news_content']]); echo "Modification effectuée !"; header('location: index.php'); } } $req = $pdo->prepare("SELECT * FROM news WHERE id = ?"); $req->execute([$_GET['id']]); $update_news = $req->fetch(PDO::FETCH_ASSOC); $req = $pdo->prepare("SELECT * FROM news WHERE id = ?"); $req->execute([$_GET['id']]); $update_news = $req->fetch(PDO::FETCH_ASSOC); if(empty($update_news)){ die('Cet id n\'existe pas !'); } ?> <form action="" method="POST"> <div> <label for="">Titre :</label> <input type="text" name="news_title" value="<?php echo $update_news['news_title']; ?>"/> </div> <div> <label for="">Contenu :</label> <textarea name="news_content"><?php echo $update_news['news_content']; ?></textarea> </div> <button type="submit">Envoyer</button> </form>
Merci d'avance pour votre aide ! :)
A voir également:
- Système de news, l'édition ne fonctionne pas
- Restauration systeme windows 10 - Guide
- Vérificateur des fichiers système - Guide
- Everest home edition - Télécharger - Informations & Diagnostic
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Superantispyware free edition - Télécharger - Antivirus & Antimalwares
2 réponses
Il est où ton WHERE dans ta requête UPDATE ?
Geopra
Messages postés
187
Date d'inscription
Statut
Membre
Dernière intervention
3
ah oui exact, forcément... XD merci ! :)
NHenry
Messages postés
15219
Date d'inscription
Statut
Modérateur
Dernière intervention
365
Si la question est résolu, merci de cliquer sur le bouton "Marquer comme résolu".
Geopra
Messages postés
187
Date d'inscription
Statut
Membre
Dernière intervention
3
fait pas tout à fait, car je fais des tests depuis tt à l'heure, et visiblement, je ne place pas le "WHERE" là où il faudrait, où doit-il être mis ??
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour. par exemple:
$newsid=$_GET['id']; if(empty($erreurs)){ $req = $pdo->prepare("UPDATE news SET news_title = ?, news_content = ? WHERE id = ?"); $req->execute([$_POST['news_title'], $_POST['news_content'],$newsid]);