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 :

Script d'identification [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut Script d'identification
    bonjour à tous voila pres de deux heures que je coince sur ce script que j'ai créé moi meme et utilisé sur d'autres sites aupar avant avec succes .

    Mais voila, là j'essiae de l'adapter a nouveau sur un nouveau site, et sa marche pas
    La connexion a la bdd a bien lieu, la requete aussi, mais sa m'affiche a chaque fois pseudo ou mot de pass incorrect alors que le pseudo et le mot de pass que je rentre dans le formulaire sont bien corrects et présents dans la table "membres" ...

    Voici mon code

    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
     
    <?php
     
    require_once('mysql.php');
    if (isset($_POST['enreg']))
    	{
    	$ident=htmlentities($_POST['pseudo']);
    	$pass=htmlentities(md5($_POST['mdp']));
    	if ($ident!="" && $pass!="")
    		{
    		mysql_select_db($bdd, $connect);
    		$verif_query=sprintf("SELECT * FROM membres WHERE pseudo='$ident' AND mdp='$pass' AND valid='oui'"); // requête sur la base administrateurs
    		$verif = mysql_query($verif_query, $connect) or die(mysql_error());
    		$row_verif = mysql_fetch_assoc($verif);
    		$utilisateur = mysql_num_rows($verif);
     
    		if ($utilisateur)
    			{
    			session_register("user");
     
    			$_SESSION['id']=$row_verif['id'];
    			$_SESSION['pseudo']=$row_verif['pseudo'];
     
    			echo 'Bienvenue '.$_SESSION['pseudo'].' !';
    			}
    		else
    			{
    			echo 'Pseudo ou mot de passe incorrect !';
    			} 
    		}
    	else
    		{
    		echo 'Veuillez remplir les 2 champs de connexion SVP !';
    		}
    	}
    else
    	{
    	?>
    	<div align="center">
    	<form method="post" action="">
    		<input type="text" name="pseudo" value="pseudo" onclick="this.value=''" title="pseudo" />
    		<input type="password" name="mdp" value="pass" onclick="this.value=''" title="mot de pass" />
    		<input type="submit" name="enreg" value="Se connecter" />
    	</form>
    	</div>
    	<?php
    	}
     
    ?>
    Merci a tous pour votre aide car je ne vois pas pourquoi sa ne marche pas

  2. #2
    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
    Affiche $verif_query et execute le dans phpmyadmin
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    j'ai fait un echo de $verif_query et sa m'affiche se que j'en attendais, donc le probleme ne vient pas de la non plus, merci quand meme

  4. #4
    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
    Tu n'as pas repondu a ma question.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    donc si j'ai bien compris tu m'as demandé d' executer SELECT * FROM membres WHERE pseudo='$ident' AND mdp='$pass' AND valid='oui' dans phpmyadmin

    Je l'ai fait et sa trouve un resultat, donc la requete marche

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    enfin biensure j'ai remplacé dans la requete $pseudo par sa valeur et $mdp par sa valeure aussi

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    sabotage ? es tu la ?

    J'ai essayé de simplifier mon code pour voir

    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
     
    <?php
    if (isset($_POST['enreg']))
    	{
    	$pseudo=$_POST['pseudo'];
    	$mdp=md5($_POST['mdp']);
     
    	if ($pseudo!="" && $mdp!="")
    		{
    		mysql_connect('mysql5-6','utilisateur','123456');
    		mysql_select_db('bdd');
     
    		$verif=mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo' AND mdp='$mdp'") or die(mysql_error());
    		$row_verif=mysql_fetch_assoc($verif);
    		$user=mysql_num_rows($verif);
     
    		if ($user)
    			{
    			session_register("user");
     
    			$_SESSION['id']=$row_verif['id'];
    			$_SESSION['pseudo']=$row_verif['pseudo'];
     
    			echo 'Bienvenue '.$_SESSION['pseudo'].' !';
    			}
    		else
    			{
    			echo 'Pseudo ou mot de passe incorrect !';
    			} 
    		}
    	else
    		{
    		echo 'Veuillez remplir les 2 champs de connexion SVP !';
    		}
    	}
    else
    	{
    	?>
    	<div align="center">
    		<form method="post" action="">
    			<input type="text" name="pseudo" value="pseudo" onclick="this.value=''" title="pseudo" />
    			<input type="password" name="mdp" value="pass" onclick="this.value=''" title="mot de pass" />
    			<input type="submit" name="enreg" value="Se connecter" />
    		</form>
    	</div>
    	<?php
    	}
    ?>
    Mais même comme cela sa ne marche pas

    Sa pourait pas etre un probleme au niveau de mon hebergeur ?

  8. #8
    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
    Un peu de debug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $sql = "SELECT * FROM membres WHERE pseudo='$pseudo' AND mdp='$mdp'";
    echo $sql . "<br>";
    $verif=mysql_query($sql) or die(mysql_error());
    $row_verif=mysql_fetch_assoc($verif);
    echo 'row_verif : '; var_dump($row_verif); echo '<br>';
    $user=mysql_num_rows($verif);
    echo 'user : '; var_dump($user); echo '<br>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    C'est voulu qu'il n'y est pas de valeur pour l'attribut "action" du formulaire ?

    Aussi, mysql_num_rows renvoie un entier, pas un booléen :

  10. #10
    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
    Mais comme 1 == TRUE ca fonctionne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    oui c'est voulu l'action sans valeur sur le formulaire car le formulaire est envoyé sur la meme page j'ai quand meme essayé $user==TRUE et $user==1 ainsi que $user!="" mais sa marche pas mieux

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    je ne comprends vraiement pas le probleme dans la mesure ou ce script marche sur mes autres sites est-ce que quelqu'un voit une erreur ?

    Par desespoire, je viens de reprendre le script sur un de mes autres sites, et ai juste fait un copier collé en modifiant juste les identifiants et mot de pass de la bdd

    Et je crois qu'il y'a un probleme d'un autre ordre que mon script car sa ne marche toujours pas

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    je viens de contacter le service technique d' ovh qui est mon hebergeur la personne que j'ai eu au telephone que toutes les options ainsi que mon hebergement sont opérationnels ...

    Sa m'enerve sa me bloque pour construire le reste du site

  14. #14
    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
    Tu n'as pas repondu pour le debug
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    voila ce que sa m'affiche :

    SELECT * FROM membres WHERE pseudo='cuisto44000' AND mdp='3299421853bc368797e2d70efa7a3c9c'
    row_verif : bool(false)
    user : int(0)
    Pseudo ou mot de passe incorrect !

  16. #16
    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
    Tu es sur que si tu fais
    SELECT * FROM membres WHERE pseudo='cuisto44000' AND mdp='3299421853bc368797e2d70efa7a3c9c'
    dans phpmyadmin ca te donne un resultat ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    oui j'ai deja essayé cet aprem

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    ah bah non sa ne trouve plus rien maintenant, pourtant les données existent bien et la table "membres" egalement



    Une image de preuve

  19. #19
    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
    Tu n'aurais pas changé le type de la colonne "mdp" ? il ne garde pas la totalité des caracteres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    arf ...............................
    .....................................
    ..............................
    ..........................
    .......................
    ................

    Bon bah mon probleme venait surement que la valeur de mdp ne pouvait pas depasser 20 caracteres, ducoup, lors de l'inscription, le mdp étant enregistré en md5() devait depasser les 20 caracteres

    Tant d'heures de perdues pour une petite connerie pareil

    Merci enormement du temps que tu m'as accordé sabotage !

    Merci beaucoup beaucoup beaucoup ...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/09/2011, 02h43
  2. [MySQL] script d'identification
    Par harima dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/05/2008, 06h27
  3. Cherche script pour d'identification
    Par bisro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/07/2007, 23h47
  4. [MySQL] Recherche script d'identification
    Par zoom61 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 15h52
  5. Simuler une identification via un script
    Par Comawhite dans le forum Langage
    Réponses: 5
    Dernier message: 21/09/2006, 14h26

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