Perte de variable $_GET apres actualisation de la page
Hector187
Messages postés
8
Statut
Membre
-
JooS Messages postés 2705 Statut Membre -
JooS Messages postés 2705 Statut Membre -
Bonjour,
Bonjour 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 ca 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 ?
Bonjour 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 ca 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 ?
A voir également:
- Perte de variable $_GET apres actualisation de la page
- Impossible de supprimer une page word - Guide
- Numéro de page word - Guide
- Bordure de page word - Guide
- Impossible de créer une page facebook - Forum Facebook
- Page de démarrage google - Guide
3 réponses
<a href="commentairebillet.php?billet=<?php echo $donnees['id']; ?>">Commentaires</a> correspond au liens de la page A qui passe la variable
voici le code de la page qui réceptionne (code long et pas encore fini comme pb rencontré en cours de route dsl en plus je débute en php) :
si cela peux t'éclairer !!!! merci en tout cas.
voici le code de la page qui réceptionne (code long et pas encore fini comme pb rencontré en cours de route dsl en plus je débute en php) :
<?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>
si cela peux t'éclairer !!!! merci en tout cas.
<?php
session_start();
if(empty($_SESSION['pseudo'])) {
header ('location: mbnlogin.php');
}
?>
<!DOCTYPE html>
<html>
<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 *
FROM bloggy
WHERE id = ?');
$req->execute(array($_GET['billet']));
$donnees = $req->fetch();
$req->closeCursor();
?>
<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 *
FROM commentaires
WHERE id_billet = ?
ORDER BY date DESC
LIMIT 0,10');
$req->execute(array($_GET['billet']));
$donnees = $req->fetch();
while ($donnees = $req->fetch()) {
echo '<p>',
'Auteur : ' . $donnees['auteur'],
' le : ' . $donnees['date'],
'</p>';
echo '<p>' . $donnees['commentaire'] . '</p>';
}
$req->closeCursor();
?>
</div>
<div id="formulairedeux">
<form method="post" action="#">
<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="submit" value="Balance" id="balance"/>
</form>
</div>
<?php
if(isset($_POST['commentaire']) AND !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' => $_GET['billet'],
':auteur' => $_SESSION['pseudo'],
':commentaire' => $_POST['commentaire']
));
$req->closeCursor();
}
?>
</body>
</html>
Mettez en résolu quand c'est résolu -.- ...