IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

authentification [MySQL]


Sujet :

PHP & Base de données

  1. #41
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Voici le nouveau code ,
    Alors il m'affiche bien la page d'accueil du formulaire avec login et password mais je peux rentrer n'importe quoi il va tout de même dans ma page ajouter.php :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>LCEsa</title></head>
    	<link href="lcesa.css" media="all" rel="stylesheet" type="text/css" />
     
        <body>
    	<div id="bandeau">
    <h1>LCEsa</h1>
    </div>
    <div id="menu">
    <h2>Connection à l'espace membre: </h2>
    </div>
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['ajouter'])) {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $base);
     
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT username,password FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(md5($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$data = mysql_fetch_array($req);
     
    		mysql_free_result($req);
    		mysql_close();
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if ($data[0] == 1) {
    			session_start();
    			$_SESSION['login'] = $_POST['login'];
    			header('Location: ajouter.php');
    			exit();
    		}
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    		elseif ($data[0] == 0) {
    			$erreur = 'Compte non reconnu.';
    		}
    		// sinon, alors la, il y a un gros problème :)
    		else {
    			$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    		}
    	}
    	else {
    		$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <html>
    <head>
    <title>Accueil</title>
    </head>
     
    <body>
    <form action="ajouter.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
    <?php
    if (isset($erreur)) echo '<br /><br />',$erreur;
    ?>
    </body>
    </html>

  2. #42
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    1) md5($_POST['pass']) ?
    tes mots de passe sont déjà encryptés dans tes tables via md5 ????

    2) if ($data[0] == 1)
    que demande tu de retourner a ta requete sql ??
    si un doute , juste avant le if ecrire :
    $moi= ( !== ) ? : ;

  3. #43
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Je voudrais que ma requete SQL me renvoi mon user et password que j'ai entré dans ma base de donnée pour les comparé aux saisies et si elles sont identiques entré sur ma page.

    J'ai fais le print mais il s'en moque je pense que ma condition lui est completement égale =)

  4. #44
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    j'ai enlevé le <form> de mon formulaire du code pour vérifier, mais non il ne passe dans rien la condition du if ne doit pas être bonne, en les mettant un tableaux j'aurai penser que de comparer case un avec la saisie aurait était plus simple..
    J'avoue que je sèche complet ...
    Je n'arrive pas a faire en sorte qu'il rentre dans ma condition j'ai regarder plusieurs tutos tous me ramène a ce code je ne comprend pas ou ai-je fais l'erreur

    J'aiessayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     <?php
    include("fonctions.php");
    ?>
     
    <html>
        <head><title>LCEsa</title></head>
    	<link href="lcesa.css" media="all" rel="stylesheet" type="text/css" />
     
        <body>
    	<div id="bandeau">
    <h1>LCEsa</h1>
    </div>
    <div id="menu">
    <h2>Connection à l'espace membre: </h2>
    </div>
     
    <form action="connexion.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
     
     
     
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $base);
     
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT count(*) FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$data = mysql_fetch_array($req);
     
    		mysql_free_result($req);
    		mysql_close();
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if ($data[0] == 1) {
    			session_start();
    			$_SESSION['login'] = $_POST['login'];
    			header('Location: membre.php');
    			exit();
    		}
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    		elseif ($data[0] == 0) {
    			$erreur = 'Compte non reconnu.';
    		}
    		// sinon, alors la, il y a un gros problème :)
    		else {
    			$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    		}
    	}
    	else {
    		$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    </body>
    </html>
    Il ne rentre pas dans ma condition je ne comprend pas pourtant le bouton de validation du login et pass s'appel bien connexion et je dit que si il est activé alors blabla et il ne fait rien j'ai beau cliquer rentré toute les valeurs que je souhaite rien y fait

  5. #45
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    J'ai également tester ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>LCEsa</title></head>
    	<link href="lcesa.css" media="all" rel="stylesheet" type="text/css" />
     
        <body>
    	<div id="bandeau">
    <h1>LCEsa</h1>
    </div>
    <div id="menu">
    <h2>Connection à l'espace membre: </h2>
    </div>
     
     
    <form action="ajouter.php" method="post">
    Login : <input type="text" name="nom" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="motdepasse" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
     
    <?php 
    session_start();
    function verification($nom,$pass)
    {
    $host='localhost';
    $user='root';
    $password='';
    $bdd='lcesa';
     
     
    //On se connecte a la bdd
    $link=mysql_connect($host,$user,$password) or die('Error de connexion'.mysql_error());
    //On choisit la bonne base de donnée
    mysql_select_db($bdd) or die('Erreur de sélection'.mysql_error());
     
    $nom_sql=mysql_real_escape_string($nom);
    $pass_sql=mysql_real_escape_string($pass);
    $sql="SELECT * FROM auth_table WHERE login='$nom_sql' AND pass='$pass_sql'";
     
    $result=mysql_query($sql,$link);
    if(mysql_num_rows($result)>0)
    	{	
    		return TRUE;
    	}else{
    			return FALSE;
    		 }
    mysql_close();
    }
     
    if(isset($_POST['nom'])&& isset($_POST['motdepasse']))
    {
    	//on les recupere
    	$nom=$_POST['nom'];
    	$motdepasse=$_POST['motdepasse'];
     
    	//on test si le mdp est valide
    	if(verification($nom,$motdepasse)){
    	session_regenerate_id();
     
    	//On sauvegarde son nom dans la session
    	$_SESSION['nom']=$nom;
    	$message='Bienvenue '.$nom;
        }else{
    		$message='Mot de passe incorrect';
    		$message.='<a href="index.php">Retour</a>';
    	}
    }else{
    		$message='Le login ou le mot de passe est vide';
    		$message.='<a href="connexion.php">Retour</a>';
    }
     
     
    ?>
     
    </body>
    </html>
    Mais j'ai le même resultat que pour le code precedent
    Le formulaire s'affiche bien mais peu importe des que je clic sur le bouton de validation il m'affiche la page suivante sans entrer de login ou de pass

  6. #46
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Tu cherches a te faire mal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="ajouter.php" method="post">
    c'est pas action="connexion.php" ?

    ------------
    ps: $_SESSION['nom']=$nom; a oublier
    lire avant un tuto sur les sessions (rien envoyer avant)

    ------------
    ps (no2) faire a la fin sinon impossible de voir le résultat
    $moi= ( !== ) ? : ;

  7. #47
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    J'ai encore tout modifié ^^

    J'ai fais en deux aprtie j'ai une page appeler connexion.php ou se situe mon formulaire, ensuite j'ai fais une page ou se situe la connexion a ma base de donnée appeler membre.php et qui devrais redirigé vers ajouter.php.
    Voici le code de connexion.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     <?php
    include("fonctions.php");
    ?>
     
    <html>
        <head><title>LCEsa</title></head>
    	<link href="lcesa.css" media="all" rel="stylesheet" type="text/css" />
     
        <body>
    	<div id="bandeau">
    <h1>LCEsa</h1>
    </div>
    <div id="menu">
    <h2>Connection à l'espace membre: </h2>
    </div>
     
    <form action="membre.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
     
    </body>
    </html>
    Voici le code de membre.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>LCEsa</title></head>
    	<link href="lcesa.css" media="all" rel="stylesheet" type="text/css" />
     
        <body>
    	<div id="bandeau">
    <h1>LCEsa</h1>
    </div>
    <div id="menu">
    <h2>Connexion à l'espace membre: </h2>
    </div>
     
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $base);
     
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT count(*) FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if (mysql_num_rows($req)>0) {
    			//header('Location: ajouter.php');
    			echo ok;
    		}	
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    		if (mysql_num_rows($req)=== 0) {
    		$erreur = 'Au moins un des champs est vide.';	
    		}
    mysql_close();		
    	}
    }
     
    ?>
     
    </body>
    </html>
    Le probleme est toujours le meme, je n'ai aucune verification par ma base de donnée.

  8. #48
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Une requête COUNT() renvoit toujours une ligne : pour "aucun résultat" on a un retour contenant 0.
    Donc utiliser mysql_num_rows() n'est pas possible.
    Il faut regarder si le résultat de la requête est 0 ou 1.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #49
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (mysql_num_rows($req)===1) {
    	echo "<script type='text/javascript'>'ajouter.php';</script>";
    	//header('Location: ajouter.php');
    	//echo 'ok';
    }	
    if (mysql_num_rows($req)=== 0) {
    	$erreur = 'Au moins un des champs est vide.';	
    }
    Comme ca sabotage ?

  10. #50
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    comme sabo ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (mysql_num_rows($req)==1) {
    			//header('Location: ajouter.php'); exit;
    			echo 'ok';
    		}	
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    		else { // retourne false, ou 2..3 pas bon
    		echo  ' Erreur';	
    		}
    $moi= ( !== ) ? : ;

  11. #51
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Je viens de copier ton code a la place de mes deux if de la fin
    il m'affiche la page membre.phph vide il n'affiche pas ok ou erreur
    Il s'en fou de ce que je lui raconte en fait

  12. #52
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    utiliser mysql_num_rows() n'est pas possible.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #53
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Ah okok si je veux l'utiliser je ne doit pas utiliser count mais uniquement "*" c'est ca ?



    Meme en faisant cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>LCEsa</title></head>
    	<link href="lcesa.css" media="all" rel="stylesheet" type="text/css" />
     
        <body>
    	<div id="bandeau">
    <h1>LCEsa</h1>
    </div>
    <div id="menu">
    <h2>Connexion à l'espace membre: </h2>
    </div>
     
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $base);
     
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT * FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if (mysql_num_rows($req)===1) {
    		//echo "<script type='text/javascript'>'ajouter.php';</script>";
    			header('Location: ajouter.php');
    			//echo 'ok';
    		}	
    		if (mysql_num_rows($req)===0) {
    		$erreur = 'Au moins un des champs est vide.';	
    		}
    mysql_close();		
    	}
    }
     
    ?>
     
    </body>
    </html>
    Bah euh ca marche pas

  14. #54
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    select id from ..

    et apres si id et id>0
    $moi= ( !== ) ? : ;

  15. #55
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Pourquoi id papajoker ?
    c'est le username et password que je veux comparer non ?

  16. #56
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    il sont deja comparés avec la requete, se sont automatiquement (si retour id>0) les memes que dans post, donc tu en a pas besoin (encore).
    id est tres bon pour sauvegarder dans session
    $moi= ( !== ) ? : ;

  17. #57
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    ID doit donc être present dans ma base de donnée ?
    Je t'avoue que je ne comprend aps ce que tu veux me faire faire

    J'ai testé ca mais bon sans exploits ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $base);
     
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT count(*) FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if ($req==1) {
    		//echo "<script type='text/javascript'>'ajouter.php';</script>";
    			header('Location: ajouter.php');
    			//echo 'ok';
    		}	
    		if ($req==0) {
    		$erreur = 'Au moins un des champs est vide.';	
    		}
    mysql_close();		
    	}
    }
     
    ?>

  18. #58
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    je ne connait pas ta table
    ai dit "id" pour "identifiant" , tu dois retourner l'index de ta table "id_auth" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select identifiant from auth_table
    puis apres fetch() tester si cet "id" est superieur a 0
    $moi= ( !== ) ? : ;

  19. #59
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    dans ma table qui s'appel auth_table il n'y a que deux choses : username et password

    Li'dentifiant sera forcement un moment ou un superieur a zero ou 1 si jai admettons 3 administrateur rentré dans ma BDD non ?

  20. #60
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    toute table doit avoir

    un index primaire unique

    pour des raisons de vitesse on utilise a 99,9%
    un entier index primaire auto-incrémenté
    généralement on l’appelle id

    c'est bon pour toutes tes tables !!!!
    $moi= ( !== ) ? : ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TIdSMTP] Envoi d'un mail avec authentification ?
    Par BACUS dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/06/2004, 16h18
  2. [C#] Authentification sur les fichiers Pdf
    Par ensisoft dans le forum ASP.NET
    Réponses: 14
    Dernier message: 04/05/2004, 12h10
  3. [Débutant]Classe d'Authentification : compilation impossible
    Par acyclique dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/08/2003, 19h42
  4. Authentification Sécurisée
    Par HPJ dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 23/06/2003, 10h45
  5. [POSTGRES] pb configuration authentification
    Par Fyna dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/06/2003, 19h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo