Formulaire update php ne fonctionne pas [Résolu/Fermé]

Signaler
Messages postés
93
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
3 janvier 2015
-
ANTHURIUMRE
Messages postés
93
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
3 janvier 2015
-
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

Messages postés
93
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
3 janvier 2015
2
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();




?>