[PHP Authentification] Probleme

Fermé
stephane_mc2004 Messages postés 755 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 8 février 2011 - 13 sept. 2009 à 16:21
stephane_mc2004 Messages postés 755 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 8 février 2011 - 20 sept. 2009 à 19:25
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 mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
13 sept. 2009 à 16:57
Sans aucun code, cela risque d'être difficile de te venir en aide.
0
stephane_mc2004 Messages postés 755 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 8 février 2011 96
13 sept. 2009 à 17:56
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 mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
13 sept. 2009 à 20:56
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 samedi 12 juillet 2008 Statut Membre Dernière intervention 8 février 2011 96
20 sept. 2009 à 19:25
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