[PHP] Session - marche pas ! [RESOLU] :-)

:-) [PHP] Session - marche pas ! [RESOLU] - PHP - Programmation

Marsh Posté le 29-06-2004 à 10:09:57    

Bonjour,
 
J'aimerais utiliser les sessions pour mon site, j'ai donc chercher un tuto facil... j'ai pris celui ci :
http://www.phpdebutant.org/article69.php
 
Il me semble que phpdebutant est une reference en la matiere...
 
Voici mon erreur :
 

Code :
  1. Notice: Undefined variable: login in c:\program files\easyphp1-7\www\login.php on line 6
  2. Password ou login non valide


 
 
Voici le code que j'utilise :

Code :
  1. INDEX.PHP
  2. <form method="post" action="login.php">
  3. Vôtre login : <input type="text" name="login">
  4. Vôtre mot de passe : <input type="password" name="password">
  5. <input type="submit" name="submit" value="login">


 

Code :
  1. LOGIN.PHP
  2. <?
  3. $login_defini = "test";// on défini un login pour la démo
  4. $password_defini = "test"; // on défini un password pour la démo
  5. // On vérifie les valeur du formulaire
  6. if ( $login == $login_defini && $password == $password_defini )
  7. {
  8. // Si les password et login sont valides
  9. session_start();// on démarre une session
  10. // On enregistre les variables login et password dans la session en cours
  11. session_register("login" );// Attention, pas de signe $ dans le session_register
  12. session_register("password" );
  13. header('location: afficher.php');// Redirection sur une page pour afficher le résultat
  14. }
  15. else{
  16. // Si les password et login ne sont pas valides, on affiche un message d'erreur
  17. print 'Password ou login non valide';
  18. }
  19. ?>


 

Code :
  1. AFFICHER.PHP
  2. <?
  3. session_start();// on démarre la session
  4. // On affiche les variables enregistrées dans la sessions
  5. print 'Vôtre login est '.$login.' et vôtre password '.$password.'<br>';
  6. // Simple non ? , maintenant fesons quelques vérifications
  7. if ( !session_is_registered("password" ) )
  8. {
  9. print 'Vôtre mot de passe n\'est pas enregistré <br>';
  10. }
  11. // on affiche un lien pour terminer une session
  12. print '<a href="logout.php">Détruire la session</a><br>';
  13. ?>


Message édité par guiotv2 le 29-06-2004 à 11:07:17
Reply

Marsh Posté le 29-06-2004 à 10:09:57   

Reply

Marsh Posté le 29-06-2004 à 10:11:33    

c'est $_POST["login"] pas $login

Reply

Marsh Posté le 29-06-2004 à 10:11:57    

$_POST["login"] si ton register_globals est à off. [:benou_grilled]


Message édité par boulax le 29-06-2004 à 10:12:29

---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 29-06-2004 à 10:13:28    

$login = $_POST['login'];
$password = $_POST['password'];
 
A placer en debut de login.php
Ca marche pas mieux ?

Reply

Marsh Posté le 29-06-2004 à 10:15:22    

p.s. : vôtre ne prend pas d'accent circonflexe


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 29-06-2004 à 10:22:11    

Merci a tous !
c'est tout simplement incroyable d'avoir un temps de reponse aussi bas !  :)  
 
 
Merci ça marche un peu mieux !
 
mais voici une nouvelle erreur :

Code :
  1. Notice: Undefined index: login in c:\program files\easyphp1-7\www\afficher.php on line 4
  2. Notice: Undefined index: password in c:\program files\easyphp1-7\www\afficher.php on line 4
  3. Vôtre login est et vôtre password
  4. Détruire la session


 
Pour info voici les modifications que j'ai faites :
Dans login.php :  

Code :
  1. if ( $_POST["login"]  == $login_defini && $_POST["password"]  == $password_defini )


dans afficher.php :

Code :
  1. print 'Vôtre login est '.$_POST["login"] .' et vôtre password '.$_POST["password"].'<br>';


 
JagStang : Merci !  ;) Il faudra le dire au webmaster de phpdebutant !
 
PS bis : J'utilise Easyphp 1.7


Message édité par guiotv2 le 29-06-2004 à 10:23:48
Reply

Marsh Posté le 29-06-2004 à 10:24:19    

erreur, dans affiche.php, tes variable ne vienne pas d'un formulaire avec la methode POST (d'ou l'apellation $_POST)
 
tu recupere ces valeur de la session
 
donc fait un echo $_SESSION["login"] :)

Reply

Marsh Posté le 29-06-2004 à 10:46:58    

Merci Chacal_one333 : ça doit etre fastidieux de repondre a des questions aussi banal...
 
Je n'ai plus aucun message d'erreur mais dans AFFICHER.PHP j'ai pas "test" qui s'affiche... :

Code :
  1. Vôtre login est et vôtre password
  2. Détruire la session


 
Je pense que l'erreur proviens duc ode dans login au niveau de :
session_register("login" );  
 
J'espere ma derniere question !

Reply

Marsh Posté le 29-06-2004 à 10:49:32    

$_SESSION["login"] = $_POST["login"];
 
j'ai pas encore tester mais ça ne serais pas ça qu'il faudrait mettre ?

Reply

Marsh Posté le 29-06-2004 à 10:51:15    

Oui, ça marche !!
 
Enfin je detient la connaissance des sessions !!
 
Merci a tous !

Reply

Marsh Posté le 29-06-2004 à 10:51:15   

Reply

Marsh Posté le 29-06-2004 à 10:51:35    

si, c'est la nouvelle methode

Reply

Sujets relatifs:

Leave a Replay

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