voila ce que je tente de réaliser : sur ma Page A j'ai une requete qui me permet de récupérer des Billets dans chaque billet j'ai un lien appelé commentaire (qui transmet la variable $_GET['id_billet] qui ouvre une page B afin de reprendre le billet ciblé avec les commentaires liés à ce même billet. Sur ma pages B je récupère bien tout, sauf que j'ai voulu intégrer un formulaire (sur ma page B) qui permet d'ajouter des commentaires au billet.
Le problème est que lorsque j'envoie le formulaire ça me réactualise la page et je perd ma variable $_GET['id_billet] résultat : "plus aucune info liés au billet ne s'affiche".
Existe t-il une solution afin qu'après avoir actualiser ma page deux elle puisse qd meme conserver la variable $_GET['id_billet] transmise par url de ma page un à deux ?
voici le lien de la page A : <a href="commentairebillet.php?billet=<?php echo $donnees['id']; ?>">Commentaires</a>
voici le code de ma page B :
<?php
session_start();
if(empty($_SESSION['pseudo']))
{
header ('location: mbnlogin.php');
}
?>
<!Doctype htlm>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="navigateur.css" />
<link rel="stylesheet" href="commentaire.css" />
<title>MBN Commentaire billet</title>
</head>
<body>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération du billet par Get
$req = $bdd->prepare('SELECT id, pseudo, titre, commentaire, date FROM bloggy WHERE id = ?');
$req->execute(array($_GET['billet']));
$donnees = $req->fetch();
$req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
?>
<div id="postfinal">
<div id="autor"><p><strong>Auteur : </strong><?php echo $donnees['pseudo'] ?></p></div><div id="titro"><p><strong>Titre : </strong><?php echo $donnees['titre'] ?></p></div><br /><p id="comment"><?php echo $donnees['commentaire'] ?></p><br /><div id="teatime"><p><?php echo $donnees['date'] ?></p></div><br />
</div>
<div id="lescommentaires">
<h1>Il a dit je cite : </h1>
<?php
// Récupération des commentaires du billet table commentaire
$req = $bdd->prepare('SELECT id, auteur, commentaire, date FROM commentaires WHERE id_billet = ? ORDER BY date DESC LIMIT 0,10');
$req->execute(array($_GET['billet']));
$donnees = $req->fetch();
while ($donnees = $req->fetch())
{
?>
<p> Auteur : <?php echo $donnees['auteur'] ?> le : <?php echo $donnees['date'] ?></p><p> <?php echo $donnees['commentaire'] ?>
<?php
}
$req->closeCursor();
?>
</div>
<div id="formulairedeux">
<form method="post" action="commentairebillet.php">
<input type="hidden" name="id_billet" value="<?php echo $_GET['billet']; ?>" />
<input type="hidden" name="auteur" value="<?php echo $_SESSION['pseudo']; ?>" />
<label><strong> Auteur : </strong></label> <input type="text" name="auteur" value="<?php echo $_SESSION['pseudo']; ?>" DISABLED />
<label><strong> Comment ?</strong> (500 caractères max) : </label><textarea placeholder="Entre ton commentaire ici" name="commentaire" maxlength="500" onkeyup="return ismaxlength(this)"></textarea>
<input type="hidden" name="date"/>
<input type="submit" value="Balance" id="balance"/>
</form>
</div>
<?php
if(!empty($_POST['commentaire']))
{
// On ajoute une entrée dans la table bugreport
$req = $bdd->prepare('INSERT INTO commentaires(id-billet, auteur, commentaire, date ) VALUES(:id_billet, :auteur, :commentaire, now())');
$req->execute(array(
'id_billet' => $_POST['id_billet'],
'auteur' => $_POST['auteur'],
'commentaire' => $_POST['commentaire'],
));
$req->closeCursor();
}
?>
</body>
</html>
avez-vous une idée en dehors d’établir mon formulaire sur une autre page pour conserver la variable $_GET apres actualisation de la page ? merci d'avance