Formulaire et variable de session

tintin
Invité n'ayant pas de compte PHPfrance

16 janv. 2011, 12:16

Bonjour à tous (et à toutes),

Grâce à vous, moins débutant qu'hier mais plus que demain ...., je rencontre un petit souçis de transmission de valeur en passant d'un formulaire F1.php au second formulaire F2.php
Un nom d'utilisateur est demandé dans F1.php (supposons que l'internaute saisisse TOTO). Dans F2.php, je souhaite lui laisser la possibilité de modifier son nom mais je dois faire une erreur de syntaxe car, si j'obtiens bien l'affichage de "Le nom utilisateur vaut TOTO", ce nom de TOTO n'apparaît pas dans le champ du formulaire qui reste vide.
F2.php se présente ainsi :

<?php
session_start(); // A mettre sur chaque page utilisant la session
echo "Le nom envoyeur vaut  :".$_SESSION['NomEnvoyeur'];
?>
<HTML>
<HEAD>
</HEAD>
<body class="texte">
<A NAME="Renseignements">&nbsp;</A>
<form name="form1" method="post" action="Envoi-MailVersFormateurFin.php">
<input TYPE="text" SIZE="28" NAME="NomEnvoyeur" VALUE="<?php htmlentities($_SESSION['NomEnvoyeur']);?>"
</a>


Merci d'avance
Tintin

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 janv. 2011, 12:47

Il te manque juste un echo pour dire à php d'afficher la chaine à l'endroit souhaité du code html que tu génères :)
value="<?php echo htmlentities($_SESSION['NomEnvoyeur']);?>"
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

tintin
Invité n'ayant pas de compte PHPfrance

16 janv. 2011, 17:27

Bonjour à tous (et à toutes) et un special thanks pour Ryle.

Mon oubli était évidemment la cause. Cela fonctionne désormais.
Ceci étant, je rencontre le même problème avec un champ TEXTAREA. Ci-après se trouve mon script, lequel devrait afficher le contenu de la variable $_SESSION['CommentaireEnvoyeur'] mais n'affiche que du vide.
    <TEXTAREA NAME="CommentaireEnvoyeur" ROWS="10" COLS="90" VALUE="<?php echo htmlentities($_SESSION['CommentaireEnvoyeur']);?>"></TEXTAREA>
Est-ce possible de faire la même chose, c'est-à-dire de faire s'afficher le contenu de la variable ?
Encore merci.
Tintin

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 janv. 2011, 17:54

C'est tout à fait possible, mais le fonctionnement du textarea est un peu différent... En effet, la balise textarea n'a pas d'attribut value et pour afficher une valeur par défaut, il faut que celle-ci soit placée entre les balises d'ouverture et de fermeture :
<textarea ... > Mon texte par défaut </textarea>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

tintin
Invité n'ayant pas de compte PHPfrance

16 janv. 2011, 18:25

Encore merci Ryle pour ta réponse.

Sans doute n'ai-je pas été suffisamment explicite dans ma demande.
En effet, je souhaite pouvoir voir s'afficher dans ce champ TEXTAREA, non pas une valeur quelconque mais la valeur que l'utilisateur a saisi dans le champ TEXTAREA d'un autre formulaire php.

Suis-je plus clair ?
Merci pour vos propositions.
Tintin

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 janv. 2011, 18:52

C'est tout à fait clair :) Tu oublies juste que l'intérêt de php c'est de pouvoir générer le code html qui sera envoyé au navigateur pour être affiché.

Pour faire ce que tu souhaites, il te suffit donc de remplacer "Mon texte par défaut" par la valeur désirée, en l'occurrence celle saisie par l'utilisateur, et pour cela tu peux utiliser php :
<TEXTAREA NAME="CommentaireEnvoyeur" ROWS="10" COLS="90"><?php echo htmlentities($_SESSION['CommentaireEnvoyeur']);?></TEXTAREA>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...