Requête UPDATE pdo
Résolu
Garig
-
NHenry Messages postés 15235 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 15235 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un script php qui affiche dans un formulaire les données d'une news avec une requete SELECT.
Puis je veux pouvoir modifier les données de la news affichée dans le formulaire avec une requete préparée UPDATE.
Mais ça ne marche pas voici mon script:
j'ajoute que echo print_r($_GET['id'],true); affiche bien l'id de la news soit 8
et que malgré cela j ai l erreur suivante :
Notice: Undefined index: id in C:\wamp\www\smarty\admin\edit.php on line 5
Notice: Undefined index: id in C:\wamp\www\smarty\admin\edit.php on line 17
Notice: Undefined index: id in C:\wamp\www\smarty\admin\edit.php on line 22
Aidez-moi svp
J'ai un script php qui affiche dans un formulaire les données d'une news avec une requete SELECT.
Puis je veux pouvoir modifier les données de la news affichée dans le formulaire avec une requete préparée UPDATE.
Mais ça ne marche pas voici mon script:
<?php
require("../config.php");
$requete=$connexion->query("SELECT * FROM news WHERE id='{$_GET['id']}'");
$data=$requete->fetch(PDO::FETCH_ASSOC);
$repertoire ="images/";
$user_image= $data['logo'];
if(!empty($_POST)){
$smtp=$connexion->prepare("UPDATE news SET titre=':titre', logo=':logo', contenu=':contenu' WHERE id=':id' ");;
$smtp->execute(array(
':titre'=>$_POST['titre'],
':logo'=>$_POST['logo'],
':contenu'=>$_POST['contenu'],
':id'=> $_GET['id']
));
echo "News modifiée<br />";
}
echo print_r($_GET['id'],true);
?>
<h3>Editer la news</h3>
<form method="post" action="edit.php" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $data['id']; ?>"/>
Titre:<input type="text" name="titre" size="60" value="<?php echo $data['titre']; ?>"/><br/>
Date:<input type="text" name="titre" size="60" value="<?php echo $data['date']; ?>"/><br/>
logo:<input type="text" name="logo" size="60" value="<?php echo $repertoire.$user_image; ?>" /><br />
Contenu:<br/>
<textarea name="contenu" style="width:100%;height:150px"><?php echo $data['contenu']; ?></textarea><br />
<input type="submit" value="Modifier la news"/>
</form>
<p><a href="index.php">Retour a l index</a></p>
j'ajoute que echo print_r($_GET['id'],true); affiche bien l'id de la news soit 8
et que malgré cela j ai l erreur suivante :
Notice: Undefined index: id in C:\wamp\www\smarty\admin\edit.php on line 5
Notice: Undefined index: id in C:\wamp\www\smarty\admin\edit.php on line 17
Notice: Undefined index: id in C:\wamp\www\smarty\admin\edit.php on line 22
Aidez-moi svp
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
3 réponses
-
Bonjour
retire, dans ta requete update, les quotes autour de tes variables.
-
Les messages d'avertissements t'indiquent que les index (ici les noms des clés) ne sont pas présentes dans le tableau donné.
Je remarque aussi que tu as du $_GET et $_POST dans la même page, ce qui laisse penser à une mauvaise utilisation des formulaires.
Pour info, $_REQUEST regroupe les données de $_GET et $_POST.
-
Oui mais je suis bien obligé de récupérer les données de la news en GET dans mon formulaire avant de pourvoir les modifier directement dans le formulaire et de les envoyer en POST avec un UPDATE