Sessions PHP Conservation des variables

Fermé
wagner51 Messages postés 10 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 20 mars 2003 - 20 déc. 2002 à 11:52
wagner51 Messages postés 10 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 20 mars 2003 - 20 déc. 2002 à 13:25
Bonjour, j'ai écrit des fichiers PHP. Pour gérer les sessions, ils commencent tous par <? session_start(); ?>
L'ID de session est bien la même pour chaque page, mais j'ai un problème pour conserver les variables, je m'explique.
Sur le FICHIER01, j'ai fais un formulaire qui soumet plusieurs variables au FICHIER02, par exemple :
<FORM method="post" action="./FICHIER02.php" name="PostName">
<INPUT type="text" name="variable1" size="20">
<INPUT type="submit" value="Valider">
</FORM>

Le FICHIER02.php enregistre alors les variables, par exemple :

<?
session_start();
session_register("variable1");
?>

J'y ai bien accès en affichant $variable1.
Mais j'ai créer un bouton pour corriger le formulaire en revenant à FICHIER01.php. Et là, les variables enregistrées ne le sont plus !!! Je voulais à la base afficher les variables déjà entrées à l'intérieur même du formulaire pour que l'utilisateur n'ait pas à tout retaper, juste à corriger les valeurs fausses. Exemple :
<?
echo"<INPUT type=\"text\" name=\"variable1\" size=\"10\" value=\"$variable1\">";
?>

Qu'est-ce qui cloche ? Merci pour votre aide...

PS : bien entendu, le formulaire dans FICHIER01 était écrit en PHP et non en HTML :
<?
echo"<INPUT type=\"text\" name=\"variable1\" size=\"10\" value=\"$variable1\">";
?>
Comme ça, si $variable1 n'a jamais été entrée par l'utilisateur, le code source résultant en HTML donne bien <INPUT type="text" name="variable1" size="10" value="">
A voir également:

1 réponse

Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
20 déc. 2002 à 12:30
Je n'ai pas une grande expérience des sessions PHP, mais j'ai bien l'impression que tu écrases les anciennes valeurs par des valeurs nulles.

session_register("variable1") affecte la valeur de $variable1 à la session. Si cette valeur est nulle, elle affecte null et tu perds les données.

Un petit :

if (isSet($variable1)) { session_register("variable1"); }

me parait le bienvenu :-)

-= Bobinourshttp://bobin.underlands.org =-
0
wagner51 Messages postés 10 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 20 mars 2003
20 déc. 2002 à 13:25
Les variables postées par le formulaire vers FICHIER02.php sont bien enregistrées. En effet, dans FICHIER02.php, si je fais echo"$variable1", la valeur est affichée, donc session_register() a bien fonctionné. Le problème apparaît quand je fais à ce moment un retour vers FICHIER01.php pour corriger les valeurs. Il n'y a aucune fonction session_register() dans FICHIER01.php, et pourtant les variables sont effacées... Pour revenir à FICHIER01.php, je met juste une balise <FORM type="button" value="Retour" onClick="location='./FICHIER01.php' ">
0