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

  FORUM HardWare.fr
  Programmation
  PHP

  [sessions et easyphp 1.7] probleme page à page

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[sessions et easyphp 1.7] probleme page à page

n°1029636
bioinfo_dj​ib
Posté le 30-03-2005 à 12:49:34  profilanswer
 

Salut à tous,  
voilà je me suis lancé dans les sessions de php pour faire usage de leur efficacité mais j'arrive pas à passer mes variables de sessions de page à page. Je fais des recherches sur le forum et j'ai lu la faq, mais je trouve pas de solution. j'ai bien verifié le fichier de config d'easyphp et la variable register_globals à off  
 
 

Code :
  1. ; - register_globals = Off [Security, Performance]
  2. ; Global variables are no longer registered for input data (POST, GET, cookies,
  3. ; environment and other server variables). Instead of using $foo, you must use
  4. ; you can use $_REQUEST["foo"] (includes any variable that arrives through the
  5. ; request, namely, POST, GET and cookie variables), or use one of the specific
  6. ; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
  7. ; on where the input originates. Also, you can look at the
  8. ; import_request_variables() function.
  9. ; Note that register_globals is going to be depracated (i.e., turned off by
  10. ; default) in the next version of PHP, because it often leads to security bugs.
  11. ; Read http://php.net/manual/en/security.registerglobals.php for further
  12. ; information.


 
 
Voici mon script de page d'accueil  
 

Code :
  1. <?
  2. //Page d'accueil pour un mini site afin de s'habituer aux sessions  
  3. //session_start();  
  4. ?>
  5. <html>
  6.   <head>
  7.   </head>
  8.   <title>
  9.     Accueil session, formulaire, mot de passe mysql
  10.   </title>
  11.   <body>
  12.     <form name=formulaire action="verification.php" method="post">
  13.       <table align=center>
  14.         <caption>
  15.           <b>Rentrez vos param&eacute;tres de connexion!</b>
  16.         </caption>
  17.         <tr>
  18.           <td>
  19.             Votre login :
  20.           </td>
  21.           <td>
  22.             <input type="text" name="le_login">
  23.           </td>
  24.         </tr>
  25.         <tr>
  26.           <td>
  27.             Votre Mot de passe :
  28.           </td>
  29.           <td>
  30.             <input type="password" name="le_mot_de_passe">
  31.           </td>
  32.           </tr>
  33.           <tr>
  34.           <td>
  35.            <img src ="codage.php" alt="image de securisation du formulaire">
  36.          <label for="le_code">Retaper le code suivant :</label>
  37.           </td>
  38.           <td>
  39.           <input type="text" name="le_code" size="5" maxlength="5" />
  40.           </td>
  41.           </tr>
  42.           <tr>
  43.             <td>
  44.               <br>
  45.               <input type="submit" value="envoyer">
  46.             </td>
  47.             <td>
  48.               <br>
  49.               <input type="reset" value="effacer">
  50.             </td>
  51.             </tr>
  52.       </table>
  53.     </form>

 
 
Cette page d'accueil appelle le script codage.php qui cree une image avec un code à l'interieur.  
voici le debut de ce code  
 
codage.php
 

Code :
  1. <?php
  2. /* Démarage d'une session nécéssaire pour récupérer la valeur générée d'une page a l'autre */
  3. session_start();
  4. /* on définie la liste qui va servir a récupérer les lettres qui formeront la valeur a saisir : on exclue le 0 (zéro) pour eviter la confusion avec le O */
  5. $liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  6. /* On créer une valeur qui sera notre code secret a saisir */
  7. $code = '';
  8. /* On crée une boucle pour créer une chaine de 5 caractères pris au hasard au sein de la variable $liste */
  9. while(strlen($code) != 5) {
  10. $code .= $liste[rand(0,63)];
  11. }
  12. /* on définit une variable de session nommée $_SESSION['code'] que l'on réutilisera plus tard */
  13. $_SESSION['code']=$code;
  14. if (!isset($_SESSION['code'])){
  15. $_SESSION['code'] = $code;
  16. }
  17. ...................
  18. ................
  19. ?>


Une fois les 3 champs saisies (login, password et code), on click sur envoyer => execution du script verification.php dont voici le debut du code  
 

Code :
  1. <?php
  2. session_start(); // nous démarrons la session afin de récupérer la valeur codée  
  3. echo $_SESSION['code'];
  4. /*if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5){  
  5. //exit("Erreur!" );  
  6. header("location: http://test/php/" );  
  7. }  
  8. */
  9. //verification parametre de connexion  
  10. $login = $_POST['le_login'];
  11. $pass = $_POST['le_mot_de_passe'];
  12. $moncode = $_POST['le_code'];
  13. ...............
  14. ............


J'arrive bien à recuperer mes variables Code:  

Code :
  1. $login = $_POST['le_login'];
  2. $pass = $_POST['le_mot_de_passe'];
  3. $moncode = $_POST['le_code'];

 
 
mais il n'y a rien dans Code:  

Code :
  1. $_SESSION['code'];

du coup si je fais  
 

Code :
  1. echo $_SESSION['code'];

j'ai le message  

Code :
  1. Notice: Undefined index: code in c:\program files\easyphp1-7\www\php\verification.php on line 4


si je fais  
 

Code :
  1. if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5){
  2. exit("Erreur!" );


j'ai droit au exit, que faire please  ????  
j'ai essayé de changer dans mon fichier de config la ligne  
 
; - register_globals = Off [Security, Performance] par  
register_globals = Off  
mais rien à faire  
pour tester si les sessions fonctionnent, j'ai fait le code suivant  
 

Code :
  1. <?php
  2. session_start();
  3. if (!isset($_SESSION['test'])) {
  4.    $_SESSION['test'] = 0;
  5. }
  6. echo $_SESSION['test']++;
  7. ?>


je suis sur mon pc portable à domicile. j'ai bien 0 qui s'affiche, mais en actualisant, j'ai toujours 0, par contre dans mon fichier tmp (C:\Program Files\EasyPHP1-7\tmp) j'ai des fichiers de sessions qui se crée à chaque fois que j'actualise la page.
_________________

mood
Publicité
Posté le 30-03-2005 à 12:49:34  profilanswer
 

n°1029887
bioinfo_dj​ib
Posté le 30-03-2005 à 15:52:07  profilanswer
 

help [:aurel74]

n°1029944
soju
One shot !
Posté le 30-03-2005 à 16:24:01  profilanswer
 

- quelle version de php ?
 
- cookie activés sur navigateur ?
- ou trans-id activé dans php ?

n°1029952
bioinfo_dj​ib
Posté le 30-03-2005 à 16:28:17  profilanswer
 

PHP Version 4.3.3
comment savoir pour cookie et trans-id  
je suis sous winXP

n°1029972
bioinfo_dj​ib
Posté le 30-03-2005 à 16:39:50  profilanswer
 

dans mon php.ini j'ai
session.use_trans_sid = 0
et dois je changer  
; - register_globals = Off [Security, Performance]  
par  
register_globals = Off  

n°1030025
soju
One shot !
Posté le 30-03-2005 à 17:01:39  profilanswer
 

ton navigateur accepte les cookie ?

n°1030054
bioinfo_dj​ib
Posté le 30-03-2005 à 17:15:39  profilanswer
 

je pense que oui.
sinon comment le verifies tu au cas ou?

n°1030065
soju
One shot !
Posté le 30-03-2005 à 17:18:09  profilanswer
 

bioinfo_djib a écrit :

je pense que oui.
sinon comment le verifies tu au cas ou?


ça depend de ton navigateur

n°1030113
bioinfo_dj​ib
Posté le 30-03-2005 à 17:49:45  profilanswer
 

j'ai internet explorer

n°1031008
bioinfo_dj​ib
Posté le 31-03-2005 à 13:55:59  profilanswer
 

bon je comprends plus rien, mes scripts fonctionnent chez d'autres personnes.
j'ai refait d'autres scripts de basessur les sessions, mais elles ne marchent toujours pas. J'ai donc desinstallé easyphp1.7 et l'ai reinstallé, mais rien à faire ça marche toujours pas. Alors je sais pas si c mon ordi qui deconne, je sais pas. Je me dis qu'en instalant la version 1.8, ca changera rien et puis j'aime pas ne pas comprendre c pas ainsi qu'on evolue. Pitié help me.
voivi mes nouveaux scripts avec les resultats obtenus:
page1.php

Code :
  1. <?
  2. session_start() ;
  3. ?>
  4. <form method="post" action="page2.php">
  5. entrez votre nom : <input type="text" name="nom">
  6. <input type="submit" value="ok">
  7. </form>
  8. <pre>
  9. <?
  10. print_r ( $_SESSION ) ;
  11. ?>
  12. </pre>


=> resultat page1.php

Code :
  1. entrez votre nom : toto
  2. Array
  3. (
  4. )

page2.php

Code :
  1. <?
  2. session_start() ;
  3. $_SESSION['nom'] = $_POST['nom'] ;
  4. ?>
  5. Bienvenue sur ce site <b><? echo $_POST['nom'] ; ?></b>.<br />
  6. Regardons ce qui se passe sur la <a href="page3.php">page</a> suivante.<br />
  7. <pre>
  8. <?
  9. print_r ( $_SESSION ) ;
  10. ?>

</pre>  
 
=> resultat page2.php

Code :
  1. Bienvenue sur ce site toto.
  2. Regardons ce qui se passe sur la page suivante.
  3. Array
  4. (
  5. [nom] => toto
  6. )


page3.php

Code :
  1. <?
  2. session_start() ;
  3. ?>
  4. Vous êtes toujours parmi nous <b><? echo $_SESSION['nom'] ; ?></b>.
  5. <pre>
  6. <?
  7. print_r ( $_SESSION ) ;
  8. ?>
  9. </pre>


=> resultat page3.php

Code :
  1. Vous êtes toujours parmi nous
  2. Notice: Undefined index: nom in c:\program files\easyphp1-7\www\php\page3.php on line 5
  3. .
  4. Array
  5. (
  6. )

mood
Publicité
Posté le 31-03-2005 à 13:55:59  profilanswer
 

n°1031016
soju
One shot !
Posté le 31-03-2005 à 14:00:52  profilanswer
 

cela ne vient pas de easyphp, mais de ta config php et navigateur : si ton navigateur refuse les cookie il faut que tu passe l'id de session dans l'url (avec trans_id activé par exemple)
 
relis un peu la doc : http://fr.php.net/manual/fr/ref.session.php

n°1031096
bioinfo_dj​ib
Posté le 31-03-2005 à 14:25:51  profilanswer
 

même en passant les sid par l'url ca change rien, de plus j'ai jamais eu de souci avec lescookies, donc d'où peut venir mes soucis???

n°1031393
bioinfo_dj​ib
Posté le 31-03-2005 à 16:28:44  profilanswer
 

apres verification, mon navigateur ne bloque pas les cookies. comment faire fonctionner ces fameuses sessions

n°1031431
soju
One shot !
Posté le 31-03-2005 à 16:48:15  profilanswer
 

fait un phpinfo() et dis nous ce que tu as dans la partie session

n°1031477
bioinfo_dj​ib
Posté le 31-03-2005 à 17:08:47  profilanswer
 

Code :
  1. session
  2. Session Support  enabled 
  3. Registered save handlers  files user 
  4. Directive Local Value Master Value
  5. session.auto_start Off Off
  6. session.bug_compat_42 Off Off
  7. session.bug_compat_warn On On
  8. session.cache_expire 180 180
  9. session.cache_limiter nocache nocache
  10. session.cookie_domain no value no value
  11. session.cookie_lifetime 0 0
  12. session.cookie_path / /
  13. session.cookie_secure Off Off
  14. session.entropy_file no value no value
  15. session.entropy_length 0 0
  16. session.gc_divisor 1000 1000
  17. session.gc_maxlifetime 1440 1440
  18. session.gc_probability 1 1
  19. session.name PHPSESSID PHPSESSID
  20. session.referer_check no value no value
  21. session.save_handler files files
  22. session.save_path C:\Program Files\EasyPHP1-7\tmp\ C:\Program Files\EasyPHP1-7\tmp\
  23. session.serialize_handler php php
  24. session.use_cookies On On
  25. session.use_only_cookies Off Off
  26. session.use_trans_sid Off Off

n°1031548
bioinfo_dj​ib
Posté le 31-03-2005 à 18:02:57  profilanswer
 

Bon faudra qu'on m'explique car je n'aime pas ne pas comprendre, je me demande s'il n'y aurait pas un peu de magie dans l'info de temps en temps  :?  
Bref, ayant marre de lire de la doc, de consulter pleins de forum, j'ai décidé de desinstaller une nouvelle fois easyphp1.7 et j'ai installer la nouvelle version la 1.8, et comme par miracle tous mes scripts fonctionnent à merveille. C'est cool  :yaisse2:  :yaisse3:  :yaisse:  
En tout cas merci pour l'aide de tout le monde.  
Mais Pourquoi ça marchait pas avant, that's a big question , J'ai besoin de savoir=> ça fait parti du progres non!!!


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

  [sessions et easyphp 1.7] probleme page à page

 

Sujets relatifs
probleme internet explorer[HTML/CSS/JS] Probleme de priorité d'affichage
Problème Applet : Access DeniedProbleme de SESSION avec IE
Problème Servlet Eclipseproblème procédure
Problème avec easyphpFaire des sessions PHP sur un compte gratuit Free
Passage de easyphp vers serveur Apache 
Plus de sujets relatifs à : [sessions et easyphp 1.7] probleme page à page


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