Menu

Système de news, l'édition ne fonctionne pas [Résolu/Fermé]

Geopra 187 Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 14 janv. 2017 à 12:57 - Dernière réponse : yg_be 5595 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 mai 2018 Dernière intervention
- 14 janv. 2017 à 14:48
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 :

<?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 ! :)

Afficher la suite 

5 réponses

NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 14 janv. 2017 à 13:33
0
Utile
Il est où ton WHERE dans ta requête UPDATE ?
Geopra 187 Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 14 janv. 2017 à 13:35
ah oui exact, forcément... XD merci ! :)
NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 14 janv. 2017 à 13:38
Si la question est résolu, merci de cliquer sur le bouton "Marquer comme résolu".
Geopra 187 Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 14 janv. 2017 à 14:12
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 5595 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 mai 2018 Dernière intervention - 14 janv. 2017 à 14:48
0
Utile
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]);