Bonjour,
Je souhaite modifier une new dans ma page sans passer par la base de donnée.
J'ai une erreur : Notice: Undefined variable: donnees in C:\wamp\www\tutoriels\Copie de pdo2\modifierunenew.php on line 41
Voici mon code :
<?php
try {//creation de l'objet PDO
$db = new PDO('mysql:host=localhost;dbname=test','root','');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
//$reponse = $db->query('SELECT id,titre,contenu FROM billets');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Modifier une new</title>
</head>
<body>
<h2>Modifier une new2</h2>
<?php
if(isset($_POST'bouton']))
{
// Récupération du billet
$req = $db->prepare('UPDATE billets SET titre = :nvtitre, contenu = nvcontenu WHERE id = : id_numero');
$req->execute(array(
'nvtitre' => $_POST'titre'],
'nvcontenu' => $_POST'contenu'],
'id' => $_GET'billet']
));
$donnees = $req->fetch();
header("Location:avecpdo.php");
}
?>
<form method="post" enctype="multipart/form-data" action="ajouterunenew.php">
<p>
<label>Titre : <input type="text" name="titre" /><?php echo html_entity_decode($donnees'titre']); ?>
</label>
</p>
<p>
<label for="contenu">Contenu :</label>
<textarea name="contenu"><?php echo nl2br(html_entity_decode($donnees'contenu'])); ?></textarea>
</p>
<p>
<label>
<input type="submit" name="bouton" value="Envoyer" />
</label>
</p>
</form>
</body>
</html>
Une solution ?
Bonsoir,
la variable $donnees qui remplit les champs du formulaire n'est pas définie. il n't a donc rien à afficher.
il faut récupérer le contenu de la news à modifier:
quelquechose comme :
$données = $db->query(SELECT id,titre,contenu FROM billets WHERE id=:id)
Merci,
Avec ce nouveau code j'ai plus de message d'erreur mais juste la "new" selectionnée qui s'affiche (titre et contenu)
Voici le code :
<?php
try {//creation de l'objet PDO
$db = new PDO('mysql:host=localhost;dbname=test','root','');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $db->query('SELECT id,titre,contenu FROM billets');
$donnees = $reponse->fetch()
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>lire la new choisie</title>
</head>
<body>
<?php
$reponse->closeCursor();
if(isset($_POST'bouton']))
{
$req = $db->prepare('UPDATE billets SET titre = :nvtitre, contenu = nvcontenu WHERE id = : id_numero');
$req->execute(array(
'nvtitre' => $_POST'titre'],
'nvcontenu' => $_POST'contenu'],
'id' => $_GET'billet']
));
$donnees = $req->fetch();
header("Location:avecpdo.php");
}
?>
<table width="600" border="1" cellspacing="0" cellpadding="5">
<tr>
<td>Titre</td>
<td><?php echo htmlspecialchars($donnees'titre']); ?></td>
</tr>
<tr>
<td>Contenu</td>
<td><?php echo nl2br(html_entity_decode($donnees'contenu'])); ?></td>
</tr>
</table>
</body>
</html>