[PHP] Debutant sur session [Résolu]

Debutant sur session [Résolu] [PHP] - PHP - Programmation

Marsh Posté le 03-06-2003 à 17:29:27    

Je fais deja du php depuis un moment, et j'ai voulu apprendre a me servir des sessions. Avant de poster, j'ai lu pas mal de docs sur le net mais la je comprends vraiment pas pourquoi ca veut pas marcher :(
 
Je me suis basé sur un exemple simple : une page d'identification et la page de membre (+ une page de verification du login)
 
La page de login tout bete (index.php) :

Code :
  1. <form method="post" action="verif.php">
  2. <table border="0" width="372" align="center"><tr><td width="192"><b>Votre login :</b></td>
  3. <td width="170"><input type="text" name="login"></td></tr><tr><td width="192"><b>Votre mot de passe :</b></td>
  4. <td width="170"><input type="password" name="password"></td></tr><tr><td colspan="2" width="366">
  5. <input type="submit" name="submit" value="Entrer !!">
  6. </td></tr></table></form>


 
La page de vérification (verif.php) :

Code :
  1. <?
  2. $login_sql ="ton";
  3. $password_sql ="mon";
  4. if ($login=="$login_sql" && $password=="$password_sql" ){ session_start();
  5. $_SESSION['login']=$_POST['login'];
  6. $_SESSION['password']=$_POST['password'];
  7. header('location : index_membre.php');
  8. }
  9. else{echo "Erreur d'identification, veuillez entrez un login et un mot de passe valide !";}
  10. ?>


 
La page membre (index_membre.php) :

Code :
  1. <?
  2. session_start();
  3. if (!session_is_registered("password" )){
  4. echo "Erreur : vous devez vous identifiez pour avoir accès à cette espace !";
  5. exit();
  6. }
  7. // Contenu de votre espace membre : -----------------------------
  8. echo "Bienvenue <b>$login</b> sur l'espace membre !";
  9. ?>


 
Apres la lecture de quelques posts sur ce forum, je vais anticiper quelque questions :
Je fais ces tests sous easyphp 1.6
auto_start : Off
use_cookies : On
use_trans_sid : 1
register_globals : Off (J'ai passé le paramètre à off car la ou j'heberge mes pages, il y est ainsi)
 
Merci d'avance à tous pour votre aide  :jap:


Message édité par hpman le 04-06-2003 à 11:26:30
Reply

Marsh Posté le 03-06-2003 à 17:29:27   

Reply

Marsh Posté le 03-06-2003 à 17:48:20    

Faut pas faire un session°register('login'); et diem que password pour créer les varialbe de session avant de les utiliser?

Reply

Marsh Posté le 03-06-2003 à 17:54:18    

Belgique a écrit :

Faut pas faire un session°register('login'); et diem que password pour créer les varialbe de session avant de les utiliser?


 
sur cette page :
http://fr2.php.net/manual/fr/ref.session.php
 
Il est marqué :

Citation :

Si vous utilisez $HTTP_SESSION_VARS et $_SESSION et désactivez register_globals, n'utilisez pas session_register(), session_is_registered() et session_unregister().  
 
Si vous activez register_globals, session_unregister() doit être utilisé, car les variables de session sont enregistrés comme variables globales lorsque les données de sessions sont relues. Inactiver register_globals est recommandé pour des raisons de sécurité et de performances.


 
Donc, voila pourquoi je m'en sers pas (J'ai tout de meme essayé, et ca ne me change rien :()

Reply

Marsh Posté le 03-06-2003 à 17:57:22    

Merci de l'info :). Bon ben je vois pas alors ;)

Reply

Marsh Posté le 03-06-2003 à 18:00:33    

sur la page index_membre.php, tu acitves bien ta session avant d'envoyer du code html? Enfin normalement ça devrait t'envoyer une erreur.

Reply

Marsh Posté le 03-06-2003 à 18:02:45    

Et essaie en testant avec if(isset($SESSION['password]));
 
Enfin je sais pas trop .. comme je vais arrêter de donner des conseils là.. je suis vraiment pas sûr de mon coup  :D

Reply

Marsh Posté le 03-06-2003 à 19:49:12    

Hpman a écrit :


 
Apres la lecture de quelques posts sur ce forum, je vais anticiper quelque questions :
Je fais ces tests sous easyphp 1.6
auto_start : Off
use_cookies : On
use_trans_sid : 1
register_globals : Off (J'ai passé le paramètre à off car la ou j'heberge mes pages, il y est ainsi)
 
Merci d'avance à tous pour votre aide  :jap:  


 
 

Code :
  1. <?
  2. $login_sql ="ton";
  3. $password_sql ="mon";
  4. if ($_POST['login']=="$login_sql" && $_POST['password']=="$password_sql" ){ session_start();
  5. $_SESSION['login']=$_POST['login'];
  6. $_SESSION['password']=$_POST['password'];
  7. header('location : index_membre.php');
  8. }
  9. else{echo "Erreur d'identification, veuillez entrez un login et un mot de passe valide !";}
  10. ?>


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 03-06-2003 à 21:48:00    

MERCI a toi simogeo :  :jap:  :jap:  [:yuck]  
 
Effectivement, j'avais oublié les $_POST et le $_SESSION dans index_membre.php
 
Par contre,  
 

Code :
  1. header('location: index_membre.php');


 
Il ne fallait pas d'espace avant : apparemment  :??:  
En tout cas merci a toi  :)


Message édité par hpman le 03-06-2003 à 21:48:36
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed