Probleme de connexion

max1395 -  
jjsteing Messages postés 1803 Statut Contributeur -
Bonjour,
je suis entrin de réaliser ma page de traitement de la connexion et je n'arrive pas a me connecter . je n'est pas de message d'ereur mais sa ne marche pas -- si quelqu'un voi l'ereur

<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["pseudo"]))
{
     header("Location: index.php");
}
else
{
     
     // Une fois le formulaire envoyé
     if(isset($_POST["pseudo"]))
     {
          
          // Vérification de la validité des champs
          if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["pseudo"]))
          {
               $message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
               $message .= "L'utilisation de l'underscore est autorisée";
          }
          else
          {
               
               // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
               mysql_connect("localhost", "root", "");
               mysql_select_db("psp-max");
               
               // Sélection de l'utilisateur concerné
               $result = mysql_query("
                    SELECT id, pseudo, passe,
                    FROM membre
                    WHERE pseudo = '" . $_POST["pseudo"] . "'
               ");
               
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Une erreur est survenue lors de la tentative de connexion";
               }
               else
               {
                    
                    // Si aucun utilisateur n'a été trouvé
                    if(mysql_num_rows($result) == 0)
                    {
                         $message = "Le nom d'utilisateur " . $_POST["pseudo"] . " n'existe pas";
                    }
                    else
                    {
                         
                         // Récupération des données
                         $row = mysql_fetch_array($result);
                         
                         // Si le compte n'a pas été activé

                              
                              // Vérification du mot de passe
                              if(md5($_POST["pseudo"]) != $row["passe"])
                              {
                                   $message = "Votre mot de passe est incorrect";
                              }
                             
                                   mysql_close();
                                   
                                   // Redirection de l'utilisateur
                                   header("Location: index.php");
                                   
                              }
                              
                         }
                         
                    }
                    
               }
               
               // Fermeture de la connexion à la base de données
               mysql_close();
               
          }
?>


le script pour se connecter :

<form method="post" action="conexion_ok.php">
<label>Pseudo :</label>
    <input type="text" name="pseudo" size="30" /><br />
	
<label>Mot de passe :</label>
    <input type="text" name="passe" size="30" /><br />
	
	<label>Se souvenir de moi ?</label><input type="checkbox" name="souvenir" /><br />
	
	<input type="hidden" name="page" value="<? echo htmlspecialchars($_SERVER['HTTP_REFERER']); ?>" />
	 <input type="submit" value="Se conecter" />
</form>

1 réponse

jjsteing Messages postés 1803 Statut Contributeur 181
 
bonsoir..

alors plusieurs erreurs :

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["pseudo"]))
{
header("Location: index.php");
}
?? depuis quand un cookie permet de faire une session??

va voir sur mon site un exemple de session ;)
(http://jjsteing.u7n.org/index.php?id=0 => projet session.php..t aura le code et l exemple)
dans mon code je verifie en direct, faut juste que tu change la partie d authentifaication pour aller checker ta base de donnée... mais le + important c'est $€ (en majuscule !!) et session_start() qui doit etre la premiere ligne appelée par toute tes pages!

et y a ca aussi ;)

// Vérification du mot de passe
if(md5($_POST["pseudo"]) != $row["passe"])
{
$message = "Votre mot de passe est incorrect";
}

la tu crypt le pseudo au lieu du mot de passe que l utilisateur a entré.. donc =>
if(md5($_POST["passe"]) != $row["passe"])
0