begin process at 2012 05 28 17:04:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Authentification (encore une fois!)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Authentification (encore une fois!)

mardi 15 avril 2008 à 13:43:58 | Authentification (encore une fois!)

geekette69


Bonjour à tous et désolée par avance de créer une énième discussion concernant l'authentification ...

J'ai lu et me suis inspirée de différentes sources de ce site et mon authentification marche 'presque'.

Voici le code du formulaire de saisie des identifiants :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr'>
    <head>
    <link rel = 'stylesheet' media = 'screen' type = 'text/css' href ='design_formulaire.css' />
        <title>Formulaire d'authentification</title>
    </head>
    <body>
        <form action='connexion.php' method='post'>
            <fieldset>
                <legend>Identifiez-vous</legend>
                <?php
                    // Rencontre-t-on une erreur ?
                    if(!empty($message)) {
                  
                        print htmlspecialchars($message);
                    }
                ?>
                <p>
                    <label for='login'>Login :</label>
                    <input type='text' name='login'  value='' />
                </p>
                <p>
                    <label for='mdp'>Mot de Passe :</label>
                    <input type='password' name='mdp' value='' />
                    <input type='submit' name='submit' value='Connexion' />
                </p>
            </fieldset>
        </form>
    </body>
</html>


et celui du traitement de BDD :

<?php


$sql_connect = mysql_connect('localhost', 'root', '') or die ('Impossible de se connecter à MySQL');

$db = 'auth_sauvegardes';

mysql_select_db($db, $sql_connect) or die ('Connexion ratée'.mysql_error());

    $sql = mysql_query ("SELECT login, mdp FROM authentification WHERE login = '$login' AND mdp = '$mdp'");

    $resultat = mysql_fetch_array($sql);
       

    if(isset($_POST['login']) and isset ($_POST['mdp'])) {    // Si on a renseigné un login et un mdp
        if($resultat['login'] !== $login) { // Si le login ou le mdp sont différents de ceux de la bdd, un message d'erreur apparaît
        $message = 'Login incorrect';
 
            }
            elseif ($resultat['mdp'] !== $mdp) {
            $message = 'Mot de passe incorrect';
            }
            else {    //Sinon on démarre la session avec le login correct et la voulue s'ouvre
                session_start();
                $_SESSION['login'] = $_POST['login'];
           
                exit();
            }
    }
                else {
                    $message = 'Veuillez vous identifier';
                    }
   

?>


Une fois que j'ai saisi login et mdp, je suis redirigée sur une page blanche. La seule info que j'ai grâce à un print sur la requête c'est 'Resource ID #3'

Ma BDD se compose comme ça :  matricule (id non auto mais unique), nom, prenom, login, mdp

Si vous pouvez m'éclairer ce serait génial!
Merci d'avance

Geekette
mardi 15 avril 2008 à 14:49:09 | Re : Authentification (encore une fois!)

nanti

Réponse acceptée !
Salut Geekette !!!

Moi aussi je suis débutant en php, mais je vois plusieurs trucs déconnants dans ton code :

- dans ton code html -> mets tes attributs entre doubles quotes.
- tu ne fais pas de requête sur ton submit : if (isset($_POST['submit'])) {} avant de lancer tes vérifications sur tes champs ; pour moi c'est étrange !
- $login et $mdp ne sont pas renseignés : je pense que tu voulais mettre -> $_POST['login'], ...
- et autre truc que je vois : !== -> je ne sais pas si c'est correct ! pour moi c'est plutôt : !=

Maintenant, je te file le code que j'ai pour les authentifications !!! (ne me traitez pas si je donne ma source, c'est pour aider notre amie !!!)

// Si le formulaire est envoyé

if (isset($_POST['envoi'])) {

    // Appel de la table et vérification du Mebmre par le login et le pass

    if ($sql_01 = mysql_query('SELECT * FROM Membres WHERE Login <> "'.$_POST['login'].'" AND Pass = "'.$_POST['pass'].'"')
    OR die(mysql_error())) {
       
        // Enregistrement du nombre de résultat de la requête SQL

        if ($row_01=mysql_fetch_array($sql_01)) {
            echo '<b>Erreur :</b> log in incorrect';
        }           

    }

    // Appel de la table et vérification du Membre par le login et le pass

    if ($sql = mysql_query('SELECT * FROM Membres WHERE Login = "'.$_POST['login'].'" AND Pass <> "'.$_POST['pass'].'"')
    OR die(mysql_error())) {
       
        // Enregistrement du nombre de résultat de la requête SQL

        if ($row=mysql_fetch_array($sql)) {
            echo '<b>Erreur :</b> mot de passe incorrect';
        }

    }
       
    // Appel de la table et vérification du Mebmre par le login et le pass

    if ($sql02 = mysql_query('SELECT * FROM Membres WHERE Login = "'.$_POST['login'].'" AND Pass = "'.$_POST['pass'].'"')
    OR die(mysql_error())) {
       
        $res=mysql_num_rows($sql02);
   
            // Si le résultat de la liste (num-rows) est > ou = à 1

            if ($res == 1) {

                // Afficher dans un tableau

                $row02=mysql_fetch_array($sql02);
       
                if ($row02['ID']==1) {
                    $type_01='Admin';
                    $_SESSION['Log_admin']=$_POST['login'];
                    $_SESSION['Log_session_admin']=$type_01;
                        return '<table><tr><td align="center"><a href="admin.php" target="_blank">Administrer le site</a><br /><a href="index.php?log_out_admin">D&eacute;connexion</a></td></tr></table>';
                }
               
                // Si l'enregistrement est 2, $type prend abonné ***

                if ($row02['ID']>=2) {

                    $type_02='Abonne';

                    $_SESSION['Log_membres']=$_POST['login'];
                    $_SESSION['Log_session_membres']=$type_02;
                    return '<table><tr><td align="center"><a href="index.php?log_out_membres">D&eacute;connexion</a></td></tr></table>';
                }

            }
       
            else {

            echo '<p align="center"><b><a href="index.php?page=inscription">Inscrivez-vous</a></b></p>';

            }
       
    }
   
}

}


J'espère que mon intervention pourra t'aider !!! Bonne continuation dans ton apprentissage de php !!!
mardi 15 avril 2008 à 15:28:41 | Re : Authentification (encore une fois!)

geekette69

Merci pour ta réponse Nanti !

J'ai corrigé les erreurs que tu as pu constater mais il me redirige toujours vers une page blanche avec marqué 'resource id #3'...

Je te remercie pour ta source mais j'aimerais vraiment y parvenir avec ce que j'ai déjà pû faire d'autant que je suis sûre que c'est une 'merdouille' qui me bloque mais tellement 'merdouilleuse' que je la trouve pas...

Question bête sur ta source : pourquoi tu reprends autant de fois la même requête? (simple curiosité)

Geekette
mardi 15 avril 2008 à 15:47:16 | Re : Authentification (encore une fois!)

nanti

Si tu regardes bien, je ne reprends pas exactement la même requête puisque je vérifie d'abord si le login est <> (différent) et pareil pour le mot de passe !!! Ensuite, si l'ensemble est égal, c'est là que je teste le reste pour savoir si le formulaire doit trouver une session d'administration, de membre ou le visiteur n'est pas dans ma bdd.

Sinon, j'ai également une question... Ta connexion à ta bdd et tes vérifications de formulaire sont dans une fonction ??? sinon, par quoi les appelles-tu exactement ????


mardi 15 avril 2008 à 15:53:17 | Re : Authentification (encore une fois!)

geekette69

Non ce n'est pas dans une fonction en fait j'ai déjà les identifiants dans ma base. Quand l'utilisateur veut utiliser l'appli, il tombe sur une fenêtre lui demandant ses identifiants, il les saisit et après le click sur le bouton 'connexion', le script de vérification avec la requête se lance. Je ne sais pas si j'ai bien répondu à ta question ...

Geekette
mardi 15 avril 2008 à 15:59:45 | Re : Authentification (encore une fois!)

nanti

OK ! Je pense avoir compris quelle est la façon dont tu procèdes !!!

À présent, si tu veux que je t'aide de façon un peu plus privée, on peut se contacter par mp !???

Je suis dispo jusque 18h aujourd'hui et demain aux horraires de bureau !!!

Cordialement,

Nanti


mardi 15 avril 2008 à 16:05:04 | Re : Authentification (encore une fois!)

geekette69

Let's go!


Geekette


Cette discussion est classée dans : message, mysql, login, authentification, mdp


Répondre à ce message

Sujets en rapport avec ce message

mot de passe + login simple [ par benjy54 ] bonjour,je souhaite faire un accès restreint à des personnes mais sans que ce soit compliqué (avec les sessions!)j'ai donc crée une table user et j'ai Redirection après authentification [ par vernoff ] Salut j'ai créer une page avec un formulaire d'authentification qui envoi sur une page appelée login.php en post et je voudrais qu'une fois l'utilisat formulaire d'autentification [ par agoumi ] bonjour a tous! j'ai essai de faire un script d'une formulaire d'authentification ,il permet de verifier  le mot de passe et le login  dans ma table U probleme de classe [ par nagrom_om ] Bonjour,J ai recupéré une classe d abstracation pour MySql cela fonctionne. Elle s instencie de cette facon :try {        $db = dbInterface::GetInstan authentification et utilisation de MD5 [ par rabbouba1 ] salut à tous, mon niveau en php n'est pas excellent , et j'ai un souci pour faire une authentification avec mot de passe et login. le mot de passe enr Authentification php [ par loviso ] Salut Je suis entrain de rediger un script d'authentification,il parait qu'il y a un probléme mais je sais pas où,même lorsque j'écris les logins et m authentification [ par maleckk ] bonjour j'ai realisée le code suivant ________________________________________________ <html xmlns="http://www.w3.org/1999/xht probleme d'autentification BDD/mysql aidez moi SVP!!!! [ par minoula2006 ] bonjour tout le monde je suis débutante en php et j'ai trouvé un problème : j'ai crée un site en php/mysql pour la commune, et on l'a héberger avant d authentification [ par hajourakr ] bonjour, je suis en train de developper un module d'authentification pour les membres avec php/my sql, mais lorsque je saisie mon login et mot de pass probleme dans l'affichage des donne de ma base [ par fankamdenise ] Salut a tous et merci de venir a mon secour. bon voila , je voudrais verifier si l'identifiant et le mot de passe entrés corespondent. mais je ne peu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,758 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales