Problème avec update qui rajoute un nouveau post
- Accueil
- Forum
- Programmation
- PHP
- Problème avec update qui rajoute un nouveau post
tintindelacite Le 5 avril 2017 à 21:45 (Édité le 25 janvier 2019 à 17:53)
Bonsoir, j'ai suivi le tuto de prim fx sur la gestion des articles, voila j'arrive a insérer dans la bdd mais quand j'edite, le script rappelle bien le bon id, mais il ajoute une nouvelle entrée, comme s'il tenait pas compte de la variable $mode_edition = 1;
Voila la partie redaction du tuto...
Et celui qui plante
$mode_edition = 0;
Si quelqu'un voit une différence ou une erreur?
Merci André
$mode_edition = 0;
if(isset($_GET['edit']) AND !empty($_GET['edit'])) {
$mode_edition = 1;
$edit_id = htmlspecialchars ($_GET['edit']);
$edit_article = $bdd->prepare('SELECT * FROM articles WHERE id = ?');
$edit_article->execute(array($edit_id));
if($edit_article->rowCount() == 1) {
$edit_article = $edit_article->fetch();
} else{
die('Erreur : L\'article n\'existe pas...');
}
}
if(isset($_POST['article_titre'], $_POST['article_contenu'])) {
if(!empty($_POST['article_titre']) AND !empty($_POST['article_contenu'])){
$article_titre = htmlspecialchars($_POST['article_titre']);
$article_contenu = htmlspecialchars($_POST['article_contenu']);
if($mode_edition == 0) {
$ins = $bdd->prepare('INSERT INTO articles (titre,contenu, date_time_publication)VALUES ( ?, ?, NOW())');
$ins->execute(array($article_titre, $article_contenu));
$message = 'Votre article a bien été ajouter';
} else {
$update = $bdd->prepare('UPDATE articles SET titre = ?, contenu = ?, date_time_edition = NOW() WHERE id =?');
$update->execute(array($article_titre, $article_contenu, $edit_id));
header('Location:http://localhost/cour_php/article.php?id='.$edit_id);
$message = 'Votre article a bien été mis a jour';
}
}else{
$message = 'Veuillez remplir tous les champs';
}
}
?>
Voila la partie redaction du tuto...
Et celui qui plante
$mode_edition = 0;
if(isset($_GET['edit']) AND !empty($_GET['edit'])) {
$mode_edition = 1;
$edit_id = htmlspecialchars ($_GET['edit']);
$edit_evenement = $bdd->prepare('SELECT * FROM evenement WHERE id = ?');
$edit_evenement->execute(array($edit_id));
if($edit_evenement->rowCount() == 1) {
$edit_evenement = $edit_evenement->fetch();
} else{
die('Erreur : L\'evenement n\'existe pas...');
}
}
if(isset($_POST['nom_evenement'], $_POST['evenement_lieu'], $_POST['evenement_descriptif'])) {
if(!empty($_POST['nom_evenement']) AND !empty($_POST['evenement_lieu'])AND !empty($_POST['evenement_descriptif'])){
$nom_evenement = htmlspecialchars($_POST['nom_evenement']);
$evenement_lieu = htmlspecialchars($_POST['evenement_lieu']);
$evenement_descriptif = htmlspecialchars($_POST['evenement_descriptif']);
if($mode_edition == 0) {
$ins = $bdd->prepare('INSERT INTO evenement (nom_evenement, lieu, descriptif, date_time_publication)VALUES ( ?, ?, ?, NOW())');
$ins->execute(array($nom_evenement, $evenement_lieu, $evenement_descriptif));
$message = 'Votre evenement a bien été ajouter';
} else {
$update = $bdd->prepare('UPDATE evenement SET nom_evenement = ?, evenement_lieu = ?, evenement_descriptif = ?, date_time_edition = NOW() WHERE id =?');
$update->execute(array($nom_evenement, $evenement_lieu, $evenement_descriptif, $edit_id));
header('Location:http://localhost/cour_php/index.php?id='.$edit_id);
$message = 'Votre evenement a bien été mis a jour';
}
}else{
$message = 'Veuillez remplir tous les champs';
}
}
?>
Si quelqu'un voit une différence ou une erreur?
Merci André
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte