Formulaire update php ne fonctionne pas

Résolu
Bonjour,

J'essaie de mettre sur pied un formulaire php pour modifier ma base de donnée. J'ai donc créé un fichier modifier.php où je récupère mes données via $_GET['billet' et mon billet s'affiche bien dans mon formulaire. Mais quand je soumets à la modification par modifierpost.php rien ne se produit. Pourriez-vous m'aider s'il vous plait car je ne vois pas d'où vient le problème. Merci pour votre aide.

Je vous mets ci-dessous mes fichiers

modifier.php

</head>
<body>

<h2>FORMULAIRE DE MODIFICIATION</h2>

<?php

try
{
$bdd=new PDO('mysql:host=localhost;dbname=bddonnees','root','');
}

catch(Exception $e)
{
die ('Erreur:'.$e->getMessage());
}
$req=$bdd->prepare('SELECT id_billet, titre1, resume,contenu1,DATE_FORMAT(date_de_creation,\'%d/%m/%Y à %Hh%imin%ss\')
AS date_de_creation_fr FROM bddonnees WHERE id_billet=?');

$req->execute(array($_GET['billet']));
$donnees=$req->fetch();

?>

<form name="contenu" method="post" action="modifierpost.php">

<fieldset>
<legend>Titre1</legend>
<input type="text" name="titre1" id="titre1" value="<?php echo $donnees['titre1'];?>" >
</fieldset>

<p>

<fieldset>
<legend>Résumé</legend>
<textarea name="resume" id="resume" rows="10" cols="100"><?php echo $donnees['resume'];?></textarea>
</fieldset>

<fieldset>
<legend>Contenu1</legend>
<textarea name="contenu1" id="contenu1" rows="10" cols="200"> <?php echo $donnees['contenu1'];?> </textarea>
</fieldset>

<input type="submit" value="Envoyer">
<input type="reset" value="Annuler">

</form>

</body>
</html>


modifierpost.php

<?php

try
{
$bdd=new PDO('mysql:host=localhost;dbname=bddonnees','root','');
}

catch(Exception $e)
{
die ('Erreur:'.$e->getMessage());
}

$req=$bdd->prepare('UPDATE bddonnees SET titre1,resume,contenu1 WHERE id_billet=\'$_GET[billet]\'

VALUES (?,?,?)');
$req->execute (array($_POST['resume'],$_POST['titre1'],$_POST['contenu1'] ));

//redirection de l'auteur vers le formulaire d'envoi
header('location:modifier.php');
?>


1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Bonjour tout le monde,

    Pour le post il fallait faire comme suit...

    <?php

    try
    {
    $bdd=new PDO('mysql:host=localhost;dbname=bdd','root','');

    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $req=$bdd->prepare('UPDATE bdd SET resume = :newresume, titre1 = :newt1,
    contenu1 = :newcont1WHERE id_billet= :id_billet');

    $req->execute(array(

    ':newt1'=>$_POST ['titre1'],
    ':newresume' =>$_POST ['resume'],
    ':newcont1'=>$_POST ['contenu1'],
    ':id_billet'=>$_GET['billet']
    ));

    {
    header('location:pagederetour.php?msg=billet');
    }

    }
    catch(Exception $e)
    {
    die('Erreur:'.$e->getMessage());
    }
    $req->closeCursor();

    ?>