> Tous les forums > Forum des Webmasters
 Ouvrir une session avec un mot de passe cryptéSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
nico3009
  Posté le 09/10/2007 @ 12:43 
Aller en bas de la page 
Petit astucien

Bonjour,

j'ai un formulaire d'ouverture de session qui renvoie à un fichier verifLogin.php

Mon problème est que chaque fois que je veux me connecter, j'ai le message "pseudo ou mot de passe incorrect".

Les mots de passe dans ma base sql sont cryptés en md5 et je pense que le problème vient de là.

Que dois-je rajouter dans mon script svp?

<?php

$hostname = "sql.free.fr";
$user = "";
$password = "";
$nom_base_donnees = "";

$result = mysql_connect($hostname, $user, $password);
if(!$result) die("Connexion à la base de données impossible");
$result = mysql_select_db($nom_base_donnees);
if(!$result) die("Echec de la sélection de la base");

if (isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['mdp'])) )
extract($_POST);
{
$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo LIKE '$pseudo' and mdp LIKE '$mdp'");

if(!$query_result) die("Echec de la requête SQL");

$result = mysql_fetch_row($query_result);

if(!$result) die("Pseudo ou mot de passe incorrect");

session_start();

session_register("pseudo");
session_register("nom");
session_register("prenom");
session_register("email");

$pseudo = $result[ 0 ];
$nom = $result[ 1 ];
$prenom = $result[ 2 ];
$email = $result[ 3 ];

header("Location: ******");
}
?>



Modifié par nico3009 le 09/10/2007 12:44
Publicité
no-log
 Posté le 09/10/2007 à 14:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

le mot de passe que l'utilisateur rentre est crypté, donc pour avoir le bon va dans ta table des login mot de passe releve le bon mot de passe et identifies toi avec!

nico3009
 Posté le 09/10/2007 à 15:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Je ne sais pas en fait si j'ai compris la réponse ou si on ne parle pas de la même chose

Ce que je veux dire en fait, c'est qu'un utilisateur inscrit ne peut pas s'identifier. Lors de son inscription, il renseigne un mot de passe et celui-ci arrive crypté dans ma table.

Le problème qui se pose est que le mot de passe de l'utilisateur quand il ouvre une session et celui enregistré dans la table est différent vu qu'il est crypté.

cekica
 Posté le 09/10/2007 à 16:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Heu... tu a cette requete :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo LIKE '$pseudo' and mdp LIKE '$mdp'");

pourquoi mettre des likes ? moi je l'aurais faite ainsi :

$query_result = mysql_query("SELECT * FROM nom,prenom,pseudo,mail,mdp FROM utilisateurs WHERE pseudo = $pseudo && mdp=$mdp");

En ce qui concerne le cryptage :

Tu peut gatder ton cryptage en md5 , mais alors il faut que tu rajoute dans ta requete :

md5($mdp);

ce ui donne :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo LIKE '$pseudo' and mdp LIKE 'md5($mdp)'");

C'est aussi con que ca



Modifié par cekica le 09/10/2007 16:44
nico3009
 Posté le 09/10/2007 à 17:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

J'ai changé la ligne :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo LIKE '$pseudo' and mdp LIKE '$mdp'");

par :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo = $pseudo && mdp=md5($mdp)");

Mais maintenant j'ai la réponse :"Echec de la requête SQL"

Où ca peut coincer?

cekica
 Posté le 09/10/2007 à 18:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
nico3009 a écrit :

J'ai changé la ligne :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo LIKE '$pseudo' and mdp LIKE '$mdp'");

par :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo = $pseudo && mdp=md5($mdp)");

Mais maintenant j'ai la réponse :"Echec de la requête SQL"

Où ca peut coincer?


erreur au niveau de la structure , il faut mettre des guillemets simlpe et double :

$query_result = mysql_query("SELECT nom, prenom, pseudo, email, mdp FROM utilisateurs WHERE pseudo = '".$pseudo."' && mdp='".md5($mdp)."'");

j'ai juste ajouté des giullmets

nico3009
 Posté le 09/10/2007 à 21:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Yeeeeeessssss!!!!!

Après une bone semaine de glaère, cekica a réussi à me débloquer!!! Merci beaucoup

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
13,59 €Carte mémoire microSDXC UHS-I SanDisk A1 Ultra 128 Go à 13,59 €
Valable jusqu'au 28 Octobre

Amazon fait une promotion sur la carte mémoire microSDXC UHS-I SanDisk A1 Ultra 128 Go à 13,59 €. Cette carte mémoire offre des vitesses jusqu'à 100 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD.


> Voir l'offre
264,40 €Ecran PC 28 pouces Samsung U28R552 (4K, IPS, 4 ms, HDR10) à 264,40 € livré
Valable jusqu'au 29 Octobre

Amazon Allemagne fait une promotion sur l'écran PC 28 pouces Samsung U28R552 qui passe à 251,09 €. Comptez 13,31 € pour la livraison en France soit un total de 264,40 € livré. On le trouve ailleurs à partir de 329 €. Cet écran dispose d'une dalle IPS 4K UHD (3840x2160) sans bordure. Grâce à la fonction PBP, vous pourrez afficher en même temps le contenu de 2 sources différentes (2 HDMI et DP). Il est compatible HDR10.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. L'écran bénéficie d'une garantie européenne de 2 ans.


> Voir l'offre
163,37 €Imprimante 3D Creality Ender 3 v2 à 163,37 € (stock Europe) avec le code TPCROS
Valable jusqu'au 29 Octobre

TomTop fait une belle promotion sur la toute dernière imprimante 3D Creality Ender 3 v2 à 163,37 € avec le code TPCROS On la trouve ailleurs autour de 180 €. L'imprimante est expédiée depuis un stock Europe (en Allemagne). Elle sera donc rapide et vous êtes sûr de ne pas avoir de douane. 

La Creality Ender 3 v2 est l'une des machines les plus populaires actuellement sur le marché. Et pour cause. Elle dispose d'un volume d’impression de 220 x 220 x 250 mm, est équipée d'un plateau chauffant inspiré du BuildTak, d'un nouvel écran LCD 4.3 pouces et offre des fonctionnalités pratiques comme la reprise de l'impression après une coupure de courant ou le conduit pour le filament étroit. L'imprimante 3D est facile à assembler et le calibrage est aisé grâce aux gros boutons. 


> Voir l'offre

Sujets relatifs
Mot de passe avec Filezilla
ouvrir et fermer du texte avec une petite croix
Problème avec variable session
Ouvrir une page avec Web creator 4 ?
Probleme de mot de passe avec fontpage
Blog video avec mot de passe
pb de session php avec IE (presque résolu)
Ouvrir une fenêtre avec paramètres
mot de passe incorrecte avec cute ftp ! pk?
Protéger une page avec un mot de passe
Plus de sujets relatifs à Ouvrir une session avec un mot de passe crypté
 > Tous les forums > Forum Forum des Webmasters