Utiliser des SESSIONS

Résolu
Bonjour,

Je cherche à utiliser des sesiions afin de passer des variables plus facilement d'un script à l'autre.
Dans mon 1° script, j'ai une case de saisie où je rentre un nom
<form method="POST" action="aff_indiv.php" value="envoyer" name="soumettre">
<input name="nom" type="text" id="nom" size="30" maxlength="23"/>

2° script : j'affiche le nom est ses éléments (je commence les sessions avec les éléments qui vont servir pour le prochain script) :
<?php 
	session_start();
$nom=$_SESSION['nom'];
$id=$_SESSION['id'];
$sexe=$_SESSION['sexe'];
?>
<HTML><HEAD>
..........

3° script : j'affiche les éléments dans des cases pour modification (input) :
<?php 
	session_start();
  $_SESSION['nom']=$nom;
  $_SESSION['id']=$id;
  $_SESSION['sexe']=$sexe;
//echo 'le nom =';
//echo  $_SESSION['nom'];
//exit;
?>
<html><head> ..................

Et là je nai pas de résultat dans la variable de Session $_SESSION['nom'] quand je teste avec echo .....
Pourquoi ?
Merci.

8 réponses

  1. Hello,

    Tu n'as mis aucune variable dans la session. Donc normal que "ça ne marche pas".
    Utilise ça plutôt :

    session_start();  
    $_SESSION['nom']= $_POST['nom'];  
    $nom=$_POST['nom']; // Uniquement si tu te sers de $nom dans la page.


    Puis sur ton autre page,
    session_start();  
    $nom= $_SESSION['nom'];  


    Avant de poser une question, assurez-vous que la réponse ne soit pas déjà sur google.fr
    0
    1. Bonjour

      J'ai bien l'impression que tu te sers de tes variables de session "à l'envers".
      C' est le tableau $_SESSION qui est sauvegardé d'une page à l'autre.

      Donc tu dois faire
      $_SESSION['nom']= $nom ; dans ta 2ème page pour enregistrer la variable $nom (qui n'est pas sauvegardée) dans $_SESSION['nom'] (qui va être sauvegardée)
      Et dans la 3ème page tu remets dans $nom la valeur qui a été enregistrée :
      $nom = $_SESSION['nom'];
      0
      1. Ben ça marche pô !!!!!

        1° script, j'ai une case de saisie où je rentre un nom :
        <?php 
        session_start();
        $_SESSION['nom']= $nom;
        ?>
        <html>
        <head> ..................
        <form method="POST" action="aff_indiv.php" value="envoyer" name="soumettre">
        <input name="nom" type="text" id="nom" size="30" maxlength="23"/> .........

        2° script : j'affiche le nom et ses éléments (je commence les sessions avec les éléments qui vont servir pour le prochain script) :
        <?php 
        session_start();
        $nom= $_SESSION['nom'];   
        ?>
        <HTML><HEAD> ...............

        3° script : j'affiche les éléments dans des cases pour modification (input) :
        <?php 
        session_start();  
        $nom= $_SESSION['nom'];   
        ?>
        <html><head>................


        Comment je dois faire ???
        0
        1. As-tu lu le message que Lionel-DIL avait posté à peu près en même temps que moi ?
          Moi j'avais supposé que tu avais traité ton formulaire et mis tes variables dans $nom, etc.. comme il l'indique. Évidemment, si tu n'avais rien mis dans les variables, il n'y a rien à enregistrer dans la session.
          0
          1. Ben ça marche pô !!!!!
            En informatique, il n'y a pas d'erreur.
            "ca marche pas" n'est pas un message d'erreur.
            Si erreur il y a, faute du dev il y a.
            0
            1. tu as fait tes sessions à l'envers et en plus il faut que tu récupères les valeurs en POST

              Dans mon 1° script, j'ai une case de saisie où je rentre un nom
              
              <form  name="formulaire_1" method="POST" action="aff_indiv.php" > <!-- il n'y a pas d'argument value dans la balise form -->
              <input name="nom" type="text" id="nom" size="30" maxlength="23"/>
              
              <input type="submit" value="envoyer" name="soumettre" />
              
              2° script : j'affiche le nom est ses éléments (je commence les sessions avec les éléments qui vont servir pour le prochain script) :
              
              <?php 
              	session_start();
              	//on charge les variables de session avec les valeurs récupérées en POST
              $_SESSION['nom']=$_POST['nom'];
              $_SESSION['id']=$_POST['id'];
              $_SESSION['sexe']=$_POST['sexe'];
              ?>
              <HTML><HEAD>
              ..........
              
              
              3° script : j'affiche les éléments dans des cases pour modification (input) :
              
              <?php 
              	session_start();
              	//onn lit le contenu des variables de session
                $nom=$_SESSION['nom'];
                $id=$_SESSION['id'];
                $sexe=$_SESSION['sexe'];
                /////affichage de TEST
                echo 'Nom= '.$nom.' Id= '.$id.' Sexe= '.$sexe;
                /////
                //et pour affichage dans les input:
                ?>
                <form name="formulaire_2" method="POST" action="......" >
              <input name="nom" type="text" id="nom" size="30" value="<?php echo $nom; ?>" maxlength="23"/>
              etc...
              
              
              0
              1. Merci beaucoup Alain_42.
                J'avance ..................
                0
                1. Compris ............... !!!!!!!!
                  Encore merci et @+
                  0