Bonjour.
J'ai 2 formulaires sur la même page. L'un est activé par défaut s'il n'y a aucun paramètre dans l'URL. C'est mon formulaire pour poster un nouvel article.
Le deuxième est caché par défaut sauf s'il y a des paramètres dans l'URL. Ce formulaire contient dans les "value" des champs le contenu de l'article associé à l'id.
(exemple si je vais sur la page avec dans l'URL "?id=4" et bien j'arrive sur la page du formulaire avec les champs remplis par les données de l'article dont l'id est égal à 4.
Ce deuxième formulaire me sert à modifier un article déjà existant.
Soucis : mon code ne fonctionne absolument pas. Et c'est un mystère.
Le voici :
<?php
// s'il y a une action et un ID, on affiche uniquement le contenu de l'article désiré directement dans le formulaire
if(isset($_GET['action']) && $_GET['action'] == 'modifier' && isset($_GET['id'])) {
$getId = intval($_GET['id']);
$requete = $bdd->prepare("SELECT * FROM articles WHERE id = :id");
$requete->execute(array(
':id' => $getId,
));
$data = $requete->fetch();
// s'il a fait une des modifs, on update l'article dans la base
if(isset($_POST['titre-article-modif']) || isset($_POST['contenu-article-modif']) || isset($_POST['resume-article-modif']) || isset($_FILES['img-une-modif'])) {
$titre_modif = $_POST['titre-article-modif'];
$contenu_modif = $_POST['contenu-article-modif'];
$resume_modif = $_POST['resume-article-modif'];
//on uploade l'image dans le bon dossier et on récupère le nom du fichier et le dossier
$upload_modif = upload('img-une-modif','../images/',array('jpeg', 'jpg', 'bmp', 'png', 'gif'),10485760, array(500,500));
$img_url_modif = "images/".$_FILES['img-une-modif']['name'];
$requete = $bdd->prepare("UPDATE articles SET titre = :titre, contenu = :contenu, resume = :resume, up_img = :img_url, date = NOW(), WHERE id = :id");
$requete->execute(array(
':titre' => $titre_modif,
':contenu' => $contenu_modif,
':resume' => $resume_modif,
':img_url' => $img_url_modif,
':id' => $getId,
));
}
?>
<!-- on affiche le nouveau formulaire de modification -->
<form method="post" action="index.php" id="poster-article" enctype="multipart/form-data">
<p>Titre de l'article</p>
<input type="text" name="titre-article-modif" value="<?php echo $data['titre']; ?>" />
<p>Contenu de l'article</p>
<textarea name="contenu-article-modif" ><?php echo $data['contenu']; ?></textarea>
<p>Résumé de l'article</p>
<textarea name="resume-article-modif" id="resume-article" ><?php echo $data['resume']; ?></textarea>
<p>Image à la une</p>
<input type="file" name="img-une-modif" />
<input type="submit" name="Modifier l'article" />
</form>
<?php } // fin de la vérif si id existe et si action existe
?>
Le code est commenté donc je vous laisse regarder.
Ca ne fonctionne pas parce que j'ai 2 formulaires sur la même page?