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. 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...
    
    
    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.
      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.
        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 ???
          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'];
            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