[PHP Authentification] Probleme

stephane_mc2004 Messages postés 755 Date d'inscription   Statut Membre Dernière intervention   -  
stephane_mc2004 Messages postés 755 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un soucis avec mon site internet. Pour l'authentification, je vais sur la page login.php
J'entre mes données (login, mot de passe), et le serveur me redirige encore sur la même page login (comme si mes données login/mdpasse etaient fausses). La deuxième fois quand j'entre encore les même données, c'est là que le serveur me redirige vers la page de bienvenue.. Je ne comprends pas pourquoi je dois toujours m'authentifier deux fois (avec les meme données) pour que ca marche

Merci de m'aider..
A voir également:

3 réponses

P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
Sans aucun code, cela risque d'être difficile de te venir en aide.
0
stephane_mc2004 Messages postés 755 Date d'inscription   Statut Membre Dernière intervention   96
 
Désolé, j'ai du oublier. voici le code

//[fonction d'authentification]

function authUser($account,$password,$redirectURL /*url ou rediriger*/)
{
    /////////////////////PRIMARY DATAS///////////////////////////////
    $DB_USERS = "<nomDeLaBaseContentantLesUsers>";        // Name of database containing users {tables,..}
    $DB_TABLE_USERLIST = "userlists"; //Table contenant les users


    //////////////////////CONNECTION////////////////////////////////
    mysql_connect("hote Mysql","LoginSQL","******");
    mysql_select_db($DB_USERS);

    ///////////////////////////QUERY///////////////////////////////
        $query = "SELECT * FROM " . $DB_TABLE_USERLIST . " WHERE u_account='" . $account . "' AND u_pwd='" . $password . "'";
        $reponse = mysql_query($query);

   //////////////////////////TEST DATAS//////////////////////////////
        if(mysql_num_rows($reponse)>0) // Good user
        {
            createSession($account,$password); //cree une session utilisateur avec des variables de session
            if(isset($redirectURL))
					header("Location: http://lapuissancedelevangile.toile-libre.org" . $redirectURL);
				else header("Location: http://lapuissancedelevangile.toile-libre.org/");

        }
        else
        {
         Header("HTTP/1.1 302 Found");
        if(isset($_GET['done']))
        //Exemple: http://.../?done=redirectURL
             header("Location: http://lapuissancedelevangile.toile-libre.org/login.php?done=" .urlencode($_GET['done']), true, 302);
        else header("Location: http://lapuissancedelevangile.toile-libre.org/login.php?nd", true, 302);
         
        
        }
    mysql_close();

}

0
P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
Ok, mais je ne crois pas que cela vienne de cette partie de ton code, plutôt de ta fonction createSession().

Faudrait voir où se trouve le session_start() et comment sont déclarés tes variables de session.
0
stephane_mc2004 Messages postés 755 Date d'inscription   Statut Membre Dernière intervention   96
 
Re bonjour, désolé pour ce temps mi, j'avais eu quelques soucis. Voici le code de CreateSession

function createSession($account,$password)
{
    @session_start();
	// setcookie("_ck_user",$account,time() + 3600*24*365);
    $_SESSION['u_account']= $account; // account saved !
    $_SESSION['u_pwd']= $password;    // password saved !
    $_SESSION['isOpened']	= true;   // variable which tell if user has opened session
    // We get name in DB
    $reponse_nom= mysql_query("SELECT * FROM userlists WHERE u_account='" . $account . "' " ) or die(mysql_error()) ;
    $donnee= mysql_fetch_array($reponse_nom) ;
    $_SESSION['u_name']= $donnee['u_name']; // name saved
    $_SESSION['u_mail'] = $donnee['mail'];
}
0