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 ?

2 réponses


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)

woubi
Auteur

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>