Se connecter avec
S'enregistrer | Connectez-vous

sessions->source de problèmes

Dernière réponse : dans Programmation

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!!
  1. <form name='first' method='post' action='Transition.php' target='client'>
  2. Entrez votre nº de Client :
  3. <input type='text' name='text1' maxlength='4' size='5' height='12'>
  4. (4 caracté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.
  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º Client ainsi qu'un mot de pass s'il vous plaî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º Client s'il vous plaî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î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ée à la base de donné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ête non authorisé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.
  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:
  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élé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!!

Autres pages sur : sessions source problemes

Lassé par la pub ? Créez un compte

ui ui. C'est fait et même plus que se que je ne devrait je pnse. Mais c'est pas ça qui doit faire que ça marche pas. Pour info il me met cette erreur
Citation :
Notice: Undefined index: no_client in c:\program files\easyphp1-8\www\telechargement.php on line 5
lors du chargement de la 2eme page avec le lien de la troisième (dans l'ordre où je les ai postées)

ok je te remet tout alors ;) :
Ca c'est ma page d'accueil=>index.php:
  1. <body bgcolor="#ffffff" scroll="no">
  2. <?php
  3. include("./menu/airwick_menu.php") ;//MENU
  4. ?>
  5. <table border="0" cellpadding="0" align=center valign=center cellspacing="0">
  6. <tr>
  7. <td background="frame3.png" width="840" height="90" colspan="2" style="margin-right:0;">
  8. <img src="banniere.gif" align=right>
  9. </td>
  10. </tr>
  11.  
  12. <tr>
  13. <td height="22px" colspan="2">
  14. <br><hr border="1" noshade>
  15. </td>
  16. </tr>
  17.  
  18. <tr width="120" height="437">
  19. <td>
  20. <iframe width="120" height="437" scrolling=no frameborder="0" name="gauche">
  21. </iframe>
  22. </td>
  23. <td>
  24. <iframe src="Client.php" width="730" height="437" scrolling=auto frameborder="0" name="origine">
  25. </iframe>
  26. </td>
  27. </tr>
  28. </table>
  29. <hr border=1 width="97%">
  30. <div align="right">
  31. <font size=-2 >
  32. <SCRIPT language="javascript">
  33. <!--
  34. var derniereModif=document.lastModified;
  35. var dateModif = new Date(derniereModif);
  36. var jour = dateModif.getDate();
  37. var mois=dateModif.getMonth();
  38. var annee=dateModif.getYear();
  39.  
  40. document.write("Dernière modification le ");
  41. document.write(+jour+"/"+mois+"/"+annee+" ");
  42. document.write("Copyright © 2005, BePLAN.");
  43. //-->
  44. </SCRIPT>
  45. </font>
  46. </div>
  47. </body>

La c'est la page appellée au lancement c'est-à-dire Client.php:
  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6. <title>
  7. Client
  8. </title>
  9. <script language="JavaScript">
  10. if (parent.frames.length < 1)
  11. document.location.href = 'index.php';
  12. </script>
  13. </head>
  14. <body onLoad="setfocus('IdentificationGauche.php')">
  15. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  16. <tr>
  17. <td width="350" height="20">
  18. <iframe src='id.php' name='espace' width='690' height='95' scrolling=no frameborder='0'></iframe>
  19. </td>
  20. </tr>
  21. <tr>
  22. <td>
  23. <iframe src="dsl.php" name="client" width="690" height="297" scrolling=auto frameborder="0">
  24. </iframe>
  25. </td>
  26. </tr>
  27. </table>
  28. </body>
  29. </html>

(dsl.php étant une page test avec un peu de texte)
Maintenant c'est Telechargement.php:
  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6. <title>
  7. Telechargement
  8. </title>
  9. <script language="JavaScript">
  10. <!--masque
  11. function charge(adresse){
  12. parent.parent.gauche.window.location=adresse;
  13. }
  14. if (parent.frames.length < 1)
  15. document.location.href = 'index.php';
  16. -->
  17. </script>
  18. </head>
  19. <body onLoad="charge('TelechargementGauche.php')">
  20. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  21. <tr>
  22. <td width="350" height="20">
  23. <iframe src='dsl.php' name='espace' width='690' height='95' scrolling=no frameborder='0'></iframe>
  24. </td>
  25. </tr>
  26. <tr>
  27. <td>
  28. <iframe src="Accueil.php" name="client" width="690" height="297" scrolling=auto frameborder="0">
  29. </iframe>
  30. </td>
  31. </tr>
  32. </table>
  33. </body>
  34. </html>
(Accueil.php étant aussi un page de texte)
Cette page(ci-dessous) est la partie gauche de index.php (qui change en fonction de la page visitée):
  1. <?php
  2. session_start();
  3. echo session_id();
  4. ?>
  5. <html>
  6. <head>
  7. <title>Telechargementgauche</title>
  8. <SCRIPT LANGUAGE="JavaScript">
  9. <!--masque
  10. if (parent.frames.length < 1)
  11. {
  12. document.location.href = 'index.php';
  13. }
  14. //-->
  15. </SCRIPT>
  16. </head>
  17. <body >
  18. <p>
  19. <a href="Telechargement.php" target="origine">Téléchargement</a>
  20. <p>
  21. <a href="Probleme.php" target="origine">Assistance Technique</a>
  22. </body>
  23. </HTML>
Et le pb c'est que la page situé dans la frame nommée "origine" prends pour id de session l'id de la page ci-dessus.(c'était juste un rapel :D )
Lassé par la pub ? Créez un compte