Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1265 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [sessions]pb de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[sessions]pb de variables

n°1105375
Destampy
Posté le 02-06-2005 à 14:26:10  profilanswer
 

Bonjour,
  je suis depuis peu sur le php et en moins sur les sessions mais je connais les fondamentaux. Je voulais vous demander comment ça se fait que je perde mes variables de sessions entre deux chargement de pages alors que sur chacune de mes pages j'ai mis un session_start();  :??: J'y suis depuis hier et j'ai fait plusieurs forum sans que personne ne trouve de réponse alors si vous pouviez m'aider!!

mood
Publicité
Posté le 02-06-2005 à 14:26:10  profilanswer
 

n°1105377
cesarr89
Posté le 02-06-2005 à 14:27:25  profilanswer
 

Balance le code peut être!

n°1105389
Destampy
Posté le 02-06-2005 à 14:33:13  profilanswer
 

Code :
  1. <form name='first' method='post' action='Transition.php' target='client'>
  2.      Entrez votre n&#186; de Client :
  3.      <input type='text' name='text1' maxlength='4' size='5' height='12'>
  4.      (4 caract&#233;res)
  5.      <p>
  6.      Entrez votre mot de passe :
  7.      <input type='password' name='text2' maxlength='10' size='11' height='12'>
  8.      <input type='submit' name='button1' value='Validation'>
  9.     </form>

Ca c'est le code de mon formuaire qui reccueil les infos.

Code :
  1. <?php
  2.   $_SESSION['no_client'] = $_POST['text1'];
  3.   $_SESSION['pswd'] = $_POST['text2'];
  4.   if(empty($_SESSION['no_client']) && empty($_SESSION['pswd'])){
  5.    include("Client.php" );
  6.    echo "<b><font color=RED>Veuillez saisir un n&#186; Client ainsi qu'un mot de pass s'il vous pla&#238;t.</font></b>";
  7.    exit();
  8.   }
  9.   else if(empty($_SESSION['no_client'])){
  10.    include("Client.php" );
  11.    echo "<b><font color=RED>Veuillez saisir un n&#186; Client s'il vous pla&#238;t.</font></b>";
  12.    exit();
  13.   }
  14.   else if(empty($_SESSION['pswd'])){
  15.    include("Client.php" );
  16.    echo "<b><font color=red>Veuillez saisir un mot de passe s'il vous pla&#238;t.</font></b>";
  17.    exit();
  18.   }
  19.   else{
  20.    if(!$connect=@mysql_connect('localhost', $_SESSION['no_client'], $_SESSION['pswd'])){
  21.     echo "<b><font color=RED>Mot de passe ou identifiant incorrects</font></b>";
  22.     exit();
  23.    }
  24.    $dbconnect=@mysql_select_db('beplan', $connect)
  25.    or die("Connection refus&#233;e à la base de donn&#233;e" );
  26.    $req=@mysql_query("select Raison_Sociale, Pswd, Civilite, Nom, Prenom from client where Code_Client='".$_SESSION['no_client']."' and Pswd='".$_SESSION['pswd']."';" )
  27.    or die("Requ&#234;te non authoris&#233;e".mysql_error());
  28.    $res=@mysql_fetch_assoc($req);
  29.    if($res==0){
  30.     echo "<b><font color=RED>Identifiant ou mot de passe incorrect.</font></b>";
  31.     exit();
  32.    }
  33.   }
  34.   echo session_id();
  35.   include("Telechargement.php" );
  36.  ?>

La c'est le code d'une page qui accède à la base de donnée.

Code :
  1. <?php
  2. if(!isset($_SESSION['no_client'])){
  3.  session_start();
  4.  echo session_id();
  5.  echo "toto".$_SESSION['no_client'];
  6. }
  7. if(isset($_SESSION['no_client']))
  8.  echo "C'est bon elle existe";
  9. else
  10.  echo "Perdu";
  11. print("
  12.    <script language='javascript'>
  13.     parent.parent.gauche.window.location='TelechargementGauche.php';
  14.    </script>
  15.   " );
  16. ?>

Et c'est sur cette page que le no_client est inconnue lorsque je la charge avec le lien contenu dans cette page:

Code :
  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6.  <title>Telechargementgauche</title>
  7.  <SCRIPT LANGUAGE="JavaScript">
  8.  <!--masque
  9.   if (parent.frames.length < 1)
  10.   {
  11.      document.location.href = 'index.php';
  12.   }
  13.  //-->
  14.  </SCRIPT>
  15. </head>
  16. <body >
  17.  <?php
  18.   if(isset($_SESSION['no_client']))
  19.    echo $no_client;
  20.  ?>
  21.  <p>
  22.  <a href="Telechargement.php" target="client">T&#233;l&#233;chargement</a>
  23.  <p>
  24.  <a href="Probleme.php" target="espace">Assistance Technique</a>
  25. </body>
  26. </HTML>

.
En sachant que j'ai des session_start() à presque toutes les pages!!

n°1105391
cesarr89
Posté le 02-06-2005 à 14:34:14  profilanswer
 

Bah je vois pas de session_start() partout

n°1105394
Destampy
Posté le 02-06-2005 à 14:35:49  profilanswer
 

Je les ai zapé sa prends de la place. Mais croi moi il y en a a toutes les pages même celles qui en ont pas un besoin particulier

n°1105629
Destampy
Posté le 02-06-2005 à 15:50:33  profilanswer
 

je sais que ça donne mal a la tête tout ce code mais ya pas un mec qui s'y connait au také qui pourait m'aider. Je crois que mes neurones ont fondus depuis le temps que j'y suis

n°1105649
cesarr89
Posté le 02-06-2005 à 15:58:08  profilanswer
 

Les sessions sont activées au moins?

n°1105657
Destampy
Posté le 02-06-2005 à 16:00:43  profilanswer
 

Oui puisque ça marchait avant que j'ai à fairte des changements d'enchaînement de pages

n°1105662
Destampy
Posté le 02-06-2005 à 16:02:50  profilanswer
 

En fait quand je fais session_start il le prend comme si c'était la première fois que j'ouvrais une session

n°1106049
gux
Posté le 02-06-2005 à 20:23:23  profilanswer
 

essais un <?echo session_id();?> pour voir si tu es bien dans la même session.

mood
Publicité
Posté le 02-06-2005 à 20:23:23  profilanswer
 

n°1106494
Destampy
Posté le 03-06-2005 à 09:32:15  profilanswer
 

Je l'ai fait et je suis plus dans la même session. A chaque fois que je valide mon formulaire je change de session aussi (ce qui est normal je pense)

n°1108828
Badze
Aime les frites
Posté le 05-06-2005 à 17:36:01  profilanswer
 

Bon ton gros probleme viens bien de SESSION_START();
Il faut dans tout les cas que ton SESSION_START(); soit en debut de code.
 
<?php
SESSION_START();
...
?>
 
De meme, tu na pas ouvert tes sessions sur ta page 2
 
Dans ta page 3, tu ouvre avec SESSION_START() dans un condition qui comprend une session :
 

Code :
  1. if(!isset($_SESSION['no_client'])){
  2.          session_start();


 
C'est pas possible, met session_start(); au tout debut.
 
Page 4 pas de probleme de sessions


Message édité par Badze le 05-06-2005 à 17:37:04
n°1108926
benji_100
Posté le 05-06-2005 à 19:52:42  profilanswer
 

Citation :

Oui puisque ça marchait avant que j'ai à fairte des changements d'enchaînement de pages


 
Ben justement, c'est à ce moment la qu'on voit si les sessions fonctionnent ...

n°1108987
Badze
Aime les frites
Posté le 05-06-2005 à 20:57:02  profilanswer
 

autrement, je vois que dans ta page 2 tu fais

Code :
  1. include("Client.php" );


 
dans ta page client.php, n'ouvre pas de session sachant quel sera deja ouverte sur cette page principale.


Message édité par Badze le 05-06-2005 à 20:58:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [sessions]pb de variables

 

Sujets relatifs
Variables partagées entre sessionstutorial variables de sessions
[PHP-Sogenactif] Probleme de passage de variables de sessions [resolu]Peut-on abuser des variables de sessions?
Limitation dans le nombre de variables de sessions avec easyphp ?[PHP] mes variables de sessions ne fonctionne pas
Variables de sessions Serveur/ClientVariables de sessions
Récupérer des variables de sessions IIS dans une applet[PHP] variables de sessions et tableaux
Plus de sujets relatifs à : [sessions]pb de variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR