J'ai un exercice de blog avec commentaires qui me pose problème : il y a 3 pages sur ce projet la 1ere avec des articles qui permettent d'afficher des commentaires et donc de passer sur la seconde page et enfin la possibilité de laisser un commentaire et donc de traiter l'information sur la dernière page en renvoyant l'utilisateur sur la seconde page. Le soucis c'est que je n'arrive pas avec mon header('Location') à renvoyer le user sur la seconde page et qui plus est, rien ne s'inscrit dans ma base de données...Si quelqu'un pouvait avoir l'obligeance d'éclairer ma lanterne ; ce serait avec plaisir
Voici ma page commentaire :
Code : Tout sélectionner
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d%m%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets WHERE id=?');
$req->execute(array($_GET['billet']));
$donnees = $req->fetch();
?>
<h2>
<?php echo htmlspecialchars($donnees['titre']); ?>
<?php echo $donnees['date_creation_fr']; ?>
</h2>
<p>
<?php echo (htmlspecialchars($donnees['contenu'])); ?>
</p>
<h2>Commentaires</h2>
<?php
$req->closeCursor();
$req = $bdd->prepare('SELECT id, id_billet, auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ? ORDER BY date_commentaire');
$req->execute(array($_GET['billet']));
while ($donnees = $req->fetch())
{
?>
<p><strong><?php echo (htmlspecialchars($donnees['auteur'])); ?> le <?php echo $donnees['date_commentaire_fr']; ?></strong></p>
<p><?php echo (htmlspecialchars($donnees['commentaire'])); ?><br /><br />
<?php
}
$req->closeCursor();
?>
<form method="post" action="commentaires_post.php">
<p>Laissez nous un commentaire</p>
<input type="text" name="auteur" placeholder="Votre pseudo" /><br />
<textarea name="commentaire" rows="2" cols="30" ></textarea><br />
<input type="submit" name="envoyer" value="poster votre commentaire" />
</form>
<p><a href="indexe.php">Retour à la liste des articles</a></p>
Et voici la page de traitement problématique :
Code : Tout sélectionner
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
if(isset($_POST['envoyer']))
{
$auteur=($_POST['auteur']);
$commentaire=($_POST['commentaire']);
$req = $bdd->prepare('INSERT INTO commentaires (auteur, commentaire, date_commentaire) VALUES(:auteur, :commentaire, NOW())');
$req->execute(array('auteur'=>$auteur, 'commentaire'=>$commentaire));
header("Location: commentaires.php?billet=".$_GET['billet']);
}
?>