authentification par formulaire

authentification par formulaire - PHP - Programmation

Marsh Posté le 23-10-2005 à 20:46:18    

Un utilisateur s'authentifie via un formulaire - script authentif.php, variables "pseudo" et "motdepasse".
A la validation, "verif.php" est appelé - script ci - dessous.
"foncverif.php" contient la fonction "verification( $nom, $motdepasse )": elle va lire ds une BbD si les données saisies ds le formulaire y figurent et retourne VRAI ou FAUX.
 
Mon pbm.: si l'un des champs du formulaire, ou les deux, ne sont pas remplis - donc restent vides -, je n'affiche pas le message correspondant; autrement dit je ne rentre jamais ds le dernier "else" de "verif.php".
Le reste est OK.
 
Auriez - vous des idées?
 
D'autre part entre les deux "isset", il faut mettre "AND" ou "&&"? Le comportement est ie ds les deux cas.
 
Ci - dessous "verif.php".
Merci!
 
 <?php
// initialisation de la session  
session_start() ;
include ('foncverif.php');
// si on a reçu les données d'un formulaire :
if ( isset( $_POST['pseudo'] ) AND isset( $_POST['motdepasse'] ))
{
   // on les récupère
  $nom = $_POST['pseudo'] ;
  $motdepasse = $_POST['motdepasse'] ;  
 
     // on teste si le mot de passe est valide :
     if ( verification( $nom, $motdepasse ) )  
     {
       // on sauvegarde donc son nom dans la session
       $_SESSION['nom'] = $nom ;
       $message = 'vous êtes correctement identifié' ;
     }  
       else {
             // sinon on avertit l'utilisateur :
             $message = 'Mauvais identifiant ou mot de passe' ;
             $message .='<br><a href="authentif.php">retour1</a>' ;
            }
}
else {
     // un des champs n'est pas rempli
     $message = 'le login ou le mot de passe est vide' ;
     $message .='<a href="authentif.php">retour2</a>' ;
     }
?>
<html>  
<head><title>Identification</title></head>  
<body><p>  
<?php echo $message ?>  
</p></body>  
</html>
 

Reply

Marsh Posté le 23-10-2005 à 20:46:18   

Reply

Marsh Posté le 23-10-2005 à 20:55:48    

Citation :

"foncverif.php" contient la fonction "verification( $nom, $motdepasse )": elle va lire ds une BbD si les données saisies ds le formulaire y figurent et retourne VRAI ou FAUX.


 
Tu veux dire qu'elle vérifie la validité du login/mot de passe ? Sinon je vois pas l'intérêt après avoir vérifié au isset. :heink:
 
Sinon je vois pas pourquoi ça rentrerait pas dans ton else. Ca t'affiche quoi ton echo $message ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 23-10-2005 à 21:05:08    

Oui pour l'interet de la BdD: verif de la validité.
Pour le isset: verif du champ rempli ou pas.
 
affichage de echo $message:
 
Lorsque l'identification est correcte: 'vous êtes correctement identifié'
Lorsque l'identification est incorrecte:'Mauvais identifiant ou mot de passe', c'est le 1er else.
Lorsque 1 champs vide ou les deux vides:'Mauvais identifiant ou mot de passe'; je ne rentre pas ds le 2nd else :-(.
 
 
 
 

Reply

Marsh Posté le 23-10-2005 à 21:05:27    

BONJOUR,
moi je vois pas ce qui ne va pas dans ton code (AND et && c'est pareil) parce que si l'un des champs est vide ca va forcément dans ton esle...
 
T'es certain qu'il n'y a pas un autre bou de code qui faut foirer la suite?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 23-10-2005 à 21:05:29    

Oui pour l'interet de la BdD: verif de la validité.  
Pour le isset: verif du champ rempli ou pas.  
 
affichage de echo $message:  
 
Lorsque l'identification est correcte: 'vous êtes correctement identifié'  
Lorsque l'identification est incorrecte:'Mauvais identifiant ou mot de passe', c'est le 1er else.  
Lorsque 1 champs vide ou les deux vides:'Mauvais identifiant ou mot de passe'; je ne rentre pas ds le 2nd else :-(.  

Reply

Marsh Posté le 23-10-2005 à 21:06:29    

Essais d'utiliser !empty() à la place de isset().


Message édité par dwogsi le 23-10-2005 à 21:07:01

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 23-10-2005 à 21:11:47    

Impeccable avec !empty() :-) ! Et vu pour la différence avec isset().
Muecho gracias.

Reply

Marsh Posté le 23-10-2005 à 21:21:14    

Ah ben oui mince c'était bateau. -_-


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Sujets relatifs:

Leave a Replay

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