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. #61
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Donc dans ma table je rajoute un champ appelé ID c'est ca ?
    Mais ma question reste la même .. ID va augmenter (automatiquement) dans ma table donc un moment il sera >1 donc comment faire pour lui dire quand id >1 alors cest bon tu peux aller sur la page demandée ...

  2. #62
    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
    Par défaut
    On ne parle pas de compter ou d'additionner ou je ne sais quoi encore les ID.

    Soit tu fais une requête COUNT qui retourne le nombre de lignes ayant le bon login et mot de passe (donc 0 ou 1 s'il n'y a pas de doublon) et donc tu contrôle la valeur du retour.

    Soit tu fais une requête sans aggregation (sans COUNT) qui retourne les lignes ayant le bon login et mot de passe (donc 0 ou 1 ligne s'il n'y a pas de doublon) et donc tu contrôle le nombre de lignes retournées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Je n'arrive pas a comprendre ou je bugue de demande que sa comparere mon login et mon password avec l'entrée saisie mais je ne trouve pas comment faire depuis une semaine je suis dessus a feuilleter des documents ou des codes je n'y arrive pas =(

    J'ai fais ca sans utiliser MySQL_num_rows car tu m'a dit quil ne pouvais aps exister de count dans la requete si je l'utiliser:
    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();		
    	}
    }
     
    ?>
    Mais il me renvois sur la page membre.php vide il ne redirectionne pas vers la page ajouter.php que je demande
    Et ca c'est uniquement quand je clic sur le bouton connexion je n'ai meme aps besoin d'entré de login ou mot de passe non non non ca il s'en moque completement

  4. #64
    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
    Par défaut
    $req est le retour de mysql_query, ce n'est pas le contenu du resultat de la requête.
    Il te manque un fetch.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #65
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    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 323
    Par défaut
    Citation Envoyé par gwendoline-bricout Voir le message
    ...depuis une semaine je suis dessus a feuilleter des documents ou des codes...
    tu dois faire plutot des copier / coller que de lire
    que retourne cette fonction ?
    http://php.net/manual/fr/function.mysql-query.php

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    non je note chaque fonction ou chaque vocabulaire que je connais pas et je me fais des fiches au fur a mesure pour pouvoir m'en reservir papajoker =)

    OKOK sabotage j'essaie avec un fetch !!

  7. #67
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    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 323
    Par défaut
    Citation Envoyé par gwendoline-bricout Voir le message
    non je note chaque fonction ou chaque vocabulaire que je connais pas et je me fais des fiches au fur a mesure pour pouvoir m'en reservir
    je t'en met un alors !

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Alors, j'ai fais :
    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
    <?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());
     
    $result=mysql_fetch_object($req) ; 	
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if ($result==1) {
    		//echo "<script type='text/javascript'>'ajouter.php';</script>";
    			header('Location: ajouter.php');
    			//echo 'ok';
    		}	
    		if ($result==0) {
    		$erreur = 'Au moins un des champs est vide.';	
    		}
    mysql_close();		
    	}
    }
     
    ?>
    cela me mene exactement ou je veux c'est a dire a ajouter.php, en revanche je dois maintenant trouver comment relié ma saisie avec ma BDD

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Citation Envoyé par papajoker Voir le message
    je t'en met un alors !
    Yeah papajok'

  10. #70
    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
    Par défaut
    Ce n'est toujours pas bon.
    $result n'est contient pas la valeur du COUNT() mais la totalité du retour de la requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Et ben ?
    Le resultat de ma requete ce n'est pas mon login et mon pass ?

  12. #72
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    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 323
    Par défaut
    Citation Envoyé par gwendoline-bricout Voir le message
    Et ben ?
    Le resultat de ma requete ce n'est pas mon login et mon pass ?
    reprend tes notes SQL sur SELECT .... from

    ou
    pour le sql count()
    $nombredeEnregistrementsRetournés=$result[0]

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    le select il selectionne bien une colonne particuliere enfin que je lui demande de ma table ?
    Donc si je lui dit de selectionner les colonnes de ma table ou le login et le pass sont égales a ma saisis le resultat va forcement être ca non ?

    --------------------------------------------------------------------------
    Ah oui mais la c'est select count()
    --------------------------------------------------------------------------

    Donc il faut que a partir de la ligne selectionné par la requete SQL je prenne les infos de celles ci donc username et password et que je les compare a mes saisies de user ?

  14. #74
    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
    Par défaut
    Donc si je lui dit de selectionner les colonnes de ma table ou le login et le pass sont égales a ma saisis le resultat va forcement être ca non ?
    Oui, le retour de la requête sera soit la bonne ligne, soit rien si les informations saisies sont fausses.
    Mais mysql_fetch_object ne retourne pas directement la valeur, même s'il n'y en a qu'une, il retourne un objet contenant toutes les valeurs d'une ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    oui oki oki donc pour pouvoir m'en servir correctement je dois prendre les valeurs de la ligne selectionné par mon fetch qui se trouve donc dans mon result et comparer avec mes saisies ?

  16. #76
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    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 323
    Par défaut
    Citation Envoyé par gwendoline-bricout Voir le message
    je prenne les infos de celles ci donc username et password et que je les compare a mes saisies de user ?

    si tu as un résultat (avec select username) c'est que la comparaison a bien été faite en SQL ! ça ne sert a rien de refaire encore la même comparaison en php !

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    bah le truc c'est que j'ai beau mettre n'importe quoi dans mon login ou mon password il s'en moque il rentre quand meme dans ma page d'admin

  18. #78
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    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 323
    Par défaut
    oui, ton if ($result) est faux

    mais pour vérif, tu devrais faire juste apres mysql_fetch_object() pour voir ce que te retourne ta requete, et donc voir si $result est bien exploitable pour ta condition if.
    Et comprendre ce que retourne une requete sql

    edit :
    c'est pour voir, pour apprendre, pour comprendre ...
    un print_r() ne va rien changer a l'execution
    mais en fonction de ce qu'il affiche ... tu vas modifier ton code !

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Meme avec le print ca ne change rien au resultat ... il fais comme si je n'avais rien mis carement


    Le print ne retourne rien du tout page blanche nada que dalle je n'ai rien d'ecrit

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    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
    <?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']))) {
     
    		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());
     
    	$result=mysql_fetch_object($req);	
     
    		if ($result===1) {
    			header('Location: ajouter.php');
    		}	
    		else {
    		    header ('Location: connexion.php');	
    		}
    		mysql_close();		
    	}
    }
     
    ?>
    J'ai testé ceci mais sans effet .. Comme le dit papajoker le if n'est pas bon mais je ne comprend pas ce quil faudrais mettre d'autre dedans ..

+ 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