Session n'a marche pa

jojo -  
 joj -
Bonjour,
j'ai un prb avec les sessions
dans page compte je met

page compte.php
<? session_start();
$_SESSION['id']="4"; ?>

page recuperer.php
<? session_start();
echo $_SESSION['id']; ?>
mais il donne erreur
Notice: Undefined index: id in c:\program files\easyphp1-8\www\recuperer.php on line 2
line2 c'est la ligne echo $_SESSION['id']; ?>
mrc
Configuration: Windows XP Internet Explorer 6.0

4 réponses

  1. le père
     
    Bonjour

    Ça devrait marcher comme ça, même si tu devrais écrire <?php plutôt que <?
    Mais s'agit-il bien d'une même session ? Comment passes-tu de la page compte.php à la page recuperer.php ? Il ne faut pas refermer le navigateur entre les deux .
    0
    1. jojo
       
      mrc
      j'ai un fomulaire de connexion
      <form method="post" action="recuperer.php" name="form1">
      <table align="center">




      <tr>
      <td>Login</td>
      <td><input type="text" name="login" /></td>
      </tr>
      <tr>
      <td>Mot de passe :</td>
      <td><input type="password" name="psw" value=""/></td>
      </tr>
      <tr>
      <td align="center"><input type="reset" value="Annuler" /></td>
      <td align="center" ><input type="submit" value="Envoyer" name="btnEnvoyer"/></td>

      </tr>
      0
  2. le père
     
    Je suppose que le formulaire est bien dans compte.php, tu ne le précises pas :)
    Les session_start() sont-ils bien dès la 1ère ligne de chacun des scripts compte.php et recuperer.php ?
    0
    1. jojo
       
      oui j'ai fait ces conseils je met session_start() la premiere instruction
      page recuperer.php
      <?php session_start();
      echo $SESSION['id']
      ?>
      0
      1. jojo > jojo
         
        Oui j'ai fait ces conseils je met session_start() la premiere instruction
        page recuperer.php
        <?php session_start();
        echo $_SESSION['id'] ;
        ?>
        0
  3. le père
     
    Ça a bien l'air correct.
    Peux-tu donner le code complet de la page compte.php ? (en cachant les mots de passe s'il y en a)
    je risque de mettre assez longtemps à répondre car je vais être occupé pendant quelques heures.
    0
    1. jojo
       
      mrc et voila le code de compte.php

      <?php session_start();
      include_once("../connexion.php");
      if (isset($_POST['btnEnvoyer']))
      {
      $log=strtolower($_POST['id']) ;
      $pass=$_POST['psw'] ;
      $find =mysql_query("SELECT * FROM client where login='$log' and mot_pass=$pass")
      $r=mysql_fetch_array($find);
      if (mysql_num_rows($find)==0)
      {
      echo"erreur de connection";
      }
      else
      {
      $_SESSION['id']=$_POST['id];

      }
      }
      else
      {

      }
      ?>
      <html>
      <body>
      Afin de pouvoir ajouter des annonces,
      utiliser divierses options vous devez vous identifier. <br/><br/><br/><br/>
      <form method="post" action="recuperer.php" name="form1">
      <table align="center">
      <tr>
      <td>Login</td>
      <td><input type="text" name="id" /></td>
      </tr>
      <tr>
      <td>Mot de passe :</td>
      <td><input type="password" name="psw" value=""/></td>
      </tr>
      <tr>
      <td align="center"><input type="reset" value="Annuler" /></td>
      <td align="center" ><input type="submit" value="Envoyer" name="btnEnvoyer"/></td>

      </tr>
      </table>
      <center>
      <a href="passperdue.php">mot de pass perdue</a>
      <a href="client\FormulaireClints.php">Nouvelle inscription</a>
      </center>
      </form>
      </body>
      </html>
      0
  4. le père
     
    Il est où le $_SESSION['id']="4"; dont tu parlais dans ton 1er message ? Il n'y en a pas.
    Si tu crois que le $_SESSION['id']=$_POST['id']; fait la même chose, détrompe-toi
    Ton $_SESSION['id']=$_POST['id']; n'est jamais exécuté parce que la condition if (isset($_POST['btnEnvoyer'])) n'est jamais remplie. En effet, tu as bien un champ btnEnvoyer dans ton formulaire, mais le formulaire est envoyé à recuperer.php (à cause du <form action="recuperer.php") Donc quand compte.php s'exécute, $_POST['btnEnvoyer'] n'existe pas.
    Le traitement de ton formulaire devrait être dans recuperer.php, ou tu devrais mettre action=compte.php. Mais tu ne peux pas dire action = un fichier, et faire le traitement dans l'autre !

    Remarque: fais des copier-coller corrects. Car il te manque une apostrophe à $_SESSION['id']=$_POST['id'];, ça m'étonnerait que ça passe sans "parse error"
    0
    1. joj
       
      slt pére
      mrc bcp pr l'aide c'etait incroyable,il marche tres bien
      et moi je doit lire plus les tuto prq j ss debutant
      mrc encore
      0