TYBMHI Posté 7 Août 2008 Posté 7 Août 2008 Bonjour, sur une page nommé commentpost.php je fais apparaitre deux variable de la facon suivante : Laissez un message à <?php echo $_GET['Pseudo']; ?><br/>pour le titre <span style="color:red;"><?php echo $_GET['numeromsg']; ?> Je récupère ces deux variables par l'intermédiaire d'un lien sur une page nommé lire.php. Voici le lien: <a href="commentpost.php?numeromsg=<?php echo $donnees['Sujet']; ?>&Pseudo=<?php echo $donnees['Pseudo']; ?> target="_blank">Donnez votre avis</a> Lorsque j'arrive pour la première fois sur la page commentpost.php tout fonctionne tres bien par exemple si "<?php echo $_GET['Pseudo']; ?>" vaut "Charlie", Charllie apparait sans problème. Le probleme est que sur cette même page j'ai un formulaire qui renvoi sur cette même page ( avec action="commentpost.php?numeromsg=$_GET['numeromsg']&Pseudo=$_GET['Pseudo']" ) et que dès qu'on clique pour valider le formulaire la page "oublie" la valeur des données et fait apparaitre : $_GET['Pseudo'] et $_GET['numeromsg']. C'est ennuyant. Donc ma question est comment faire pour que la page n'oublie pas la valeur de mes variables. Merci d'avance pour votre aide.
Sarc Posté 8 Août 2008 Posté 8 Août 2008 Salut Pourrais-tu nous mettre le code exact utilisé en PHP, sur quelques lignes, aux moments où tu écris ces lignes-là ? Parce que sans le code, j'ai du mal à voir ce qui se passe... En tout cas, si ça affiche quelque chose, c'est pas un oubli de la valeur de la variable, c'est que tu affiches son nom au lieu d'afficher sa valeur. C'est souvent comme ça, par exemple : $variable = "coucou"; echo '$variable'; affichera $variable echo "$variable"; affichera coucou echo $variable; affichera coucou
Prélude Posté 8 Août 2008 Posté 8 Août 2008 Au lieu d'utiliser _GET utilise _REQUEST Mais ce code n'est pas très "propre" ...
TYBMHI Posté 8 Août 2008 Auteur Posté 8 Août 2008 Merci beaucoup pour vos réponses : Voici mon script complet qui se trouve sur la page "commentpost.php": <p style="font-size:1.5em;color:yellow;" class=titrelaissezmsg>Laissez un message à <span style="color:red;"><?php echo $_GET['Pseudo']; ?></span> <br/>pour le titre <span style="color:red;"><?php echo $_GET['numeromsg']; ?></span>!</p> <form method="post" action="commentpost.php" class=formulairedecomment> <p> <input type="hidden" name="numeromsg" value="<?php echo $_GET['numeromsg']; ?>"/><br /> <input type="hidden" name="pseudodupost" value="<?php echo $_GET['Pseudo']; ?>"/><br /> Votre pseudo : <br /><input name="pseudo" style="background-color:#d56a02;text-align:center;font-weight:bolder;" value="<?php echo $_SESSION['login']; ?>"/><br /> Votre message :<br /> <textarea name="message" rows="8" cols="35" style="background-color:#d56a02;"></textarea><br /><br/> <input type="submit" value="Envoyer"/> </p> </form> J'ai essayé en changeant le nom des variables du formulaire mais ca ne change rien. Sinon en doublant les variable ca marche mais j'imagine que c'est pas terrible de faire comme ca : <p style="font-size:1.5em;color:yellow;" class=titrelaissezmsg>Laissez un message à <span style="color:red;">[b]<?php echo $_GET['Pseudo']; ?><?php echo $_POST['pseudodupost']; ?>[/b]</span> [b]<br/>pour le titre <span style="color:red;"><?php echo $_GET['numeromsg']; ?><?php echo $_POST['numeromsg']; ?>[/b]</span>!</p>
Prélude Posté 8 Août 2008 Posté 8 Août 2008 C'est bien ça, utilise plutôt $_REQUEST qui prend en compte le GET et le POST. Mais tout cela ne reste pas très "propre" comme code.
TYBMHI Posté 8 Août 2008 Auteur Posté 8 Août 2008 Merci beaucoup pour ton aide prélude. Ca marche tres bien. Encore une fois merci. Comment fait on pour dire qu'un sujet est résolu sur le forum ?
Portekoi Posté 8 Août 2008 Posté 8 Août 2008 On ne fait rien et quand on poste du code, on utilise les balises "[ CODE]" ou "[ CODEBOX]" pour les codes longs
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant