Tuto edition/suppression article
- Accueil
- Forum
- Programmation
- PHP
- Tuto edition/suppression article
tintindelacite Le 17 février 2017 à 19:10 (Édité le 25 janvier 2019 à 17:53)
Pas de message d'erreur, pas de modif
<?php
$bdd = new PDO('mysql:host=localhost;dbname=tuto', 'root','');
$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));
var_dump($edit_id);
$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';
}
}
?>
Merci
Johan-Krn Le 18 février 2017 à 03:20 (Édité le 1 janvier 1970 à 01:00)
$bdd = new PDO('mysql:host=localhost;dbname=tuto', 'root','', [PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING]);
ensuite fait des teste si ta une erreur sa s'affichera si ta pas d'erreur essaie de mettre un var_dump de $mode_edition et un die() juste avant le if pour voir si $mode_edition est a 1 après dit moi ce qu'il sait passer tintindelacite Le 20 février 2017 à 16:34 (Édité le 1 janvier 1970 à 01:00)
// Connexion à la base de données
try{
$bdd = new PDO('mysql:host=localhost;dbname=tuto;charset=utf8', 'root', '');
}
catch(Exception $e){
die('Erreur : '.$e->message());
}
Pour le var_dump ($mode_edition); il renvoi bien int(1)...pour le die je ne sais pas l'utiliser je le met seul genre die();
Je pense que mon problème viens du formulaire et de la partie :
<input type ="text"name ="article_titre" placeholder= "titre"<?php if($mode_edition ==1){?> value ="<?php echo $edit_article['titre']?>"<?php }?> />
Merci