Identfication php avec sql
fortune123
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
robinam Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
robinam Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
j'avais un problème sur php
mon code ici et je souhaite que vous m'aider
mon code ici et je souhaite que vous m'aider
<?php $connexion = mysql_connect ("localhost", "root", "") ; $db = mysql_select_db( "base" ) ; session_start(); if(isset($_POST['login']) && isset($_POST['password'])) { $requete = "SELECT * FROM users WHERE 'login'=='".$_POST['login']."' AND 'password'=='".($_POST['password'])."'"; $req= mysql_query($requete); if(mysql_num_rows($req)>0) { header('Location:langue.php'); } else echo "<h1>erreur d'edentifier <h1>"; } ?>
A voir également:
- Identfication php avec sql
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Alert php ✓ - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonsoir mon ami,
juste savoir quelle erreur retourne ton code?
Amélioration de ton code
Essai ce code voir ce que sa donne.
Excellente soirée
juste savoir quelle erreur retourne ton code?
Amélioration de ton code
<?php $connexion = mysql_connect ("localhost", "root", "") ; $db = mysql_select_db( "base" ) ; session_start(); if(!empty($_POST['login'],$_POST['password'])) { $requete = "SELECT * FROM users WHERE login='".$_POST['login']."' AND password='".$_POST['password']."'"; $req= mysql_query($requete); if(mysql_num_rows($req)>0) { header('Location:langue.php'); } else{ echo "<h1>erreur d'edentifier <h1>"; } }else{ echo "Le login et le mots sont obligatoires"; } ?>
Essai ce code voir ce que sa donne.
Excellente soirée
Bonjour,
cela serait bien de donner plus d'information sur ton erreur car là tu met ton code sans aucune explication, c'est dur de t'aider.
Sinon je dirai que déjà ton session_start() devrait être la toute première ligne juste après l'ouverture de ton tag PHP
<?php
session_start();
$connexion = mysql_connect ("localhost", "root", "") ;
$db = mysql_select_db( "base" ) ;
et deuxième chose, tu fait un select sur le password passé en POST, ce qui signifie donc certainement que tu stockera tes mot de passe en clair (aucun hash effectué) ce que je te déconseille. Il faut plutôt stoker un hash du password, un SHA1 par exemple : https://www.php.net/manual/fr/function.sha1.php
et faire une comparaison sur les hash
cela serait bien de donner plus d'information sur ton erreur car là tu met ton code sans aucune explication, c'est dur de t'aider.
Sinon je dirai que déjà ton session_start() devrait être la toute première ligne juste après l'ouverture de ton tag PHP
<?php
session_start();
$connexion = mysql_connect ("localhost", "root", "") ;
$db = mysql_select_db( "base" ) ;
et deuxième chose, tu fait un select sur le password passé en POST, ce qui signifie donc certainement que tu stockera tes mot de passe en clair (aucun hash effectué) ce que je te déconseille. Il faut plutôt stoker un hash du password, un SHA1 par exemple : https://www.php.net/manual/fr/function.sha1.php
et faire une comparaison sur les hash
un site bien conçu ne doit pas avoir la possibilité de renvoyer le mot de passe en clair (puisqu'il ne doit pas le stocker en clair)
Le but étant de définir un nouveau mot de passe temporaire ou un "token" unique permettant à l'utilisateur de définir son nouveau mot de passe
Un exemple parmi tant d'autre
l'utilisateur clic sur mot de passe oublié, tu lui demande de saisir son mail.
Tu génère un token (une donnée aléatoire, assez longue pour éviter le brutforce)
Tu stock dans une table de ta BDD, le mail, le token, la date , ....
Tu envoi un mail à l'utilisateur avec un lien à cliquer, sur l'adresse saisie ci-dessus. Ce lient doit contenir ton token et le mail de l'utilisateur
Lorsque l'utilisateur clic dessus, tu récupère en $_GET['email'] et $_GET['token']
Tu vérifie si dans ta base tu as bien dans ta table une demande de mot de passe qui match sur ce couple email/token
Si valide, l'utilisateur est "identifié", tu peux lui proposer de définir un nouveau mot de passe dont tu stockera le nouveau hash dans ta table gérant les utilisateurs.
C'est une manière de faire, expliqué simplement. Il en existe d'autre (gérer sans donnée en BDD par exemple). TU peux également géré la date, pour faire des liens valides uniquement sur une durée limitée...
Le but étant de définir un nouveau mot de passe temporaire ou un "token" unique permettant à l'utilisateur de définir son nouveau mot de passe
Un exemple parmi tant d'autre
l'utilisateur clic sur mot de passe oublié, tu lui demande de saisir son mail.
Tu génère un token (une donnée aléatoire, assez longue pour éviter le brutforce)
Tu stock dans une table de ta BDD, le mail, le token, la date , ....
Tu envoi un mail à l'utilisateur avec un lien à cliquer, sur l'adresse saisie ci-dessus. Ce lient doit contenir ton token et le mail de l'utilisateur
Lorsque l'utilisateur clic dessus, tu récupère en $_GET['email'] et $_GET['token']
Tu vérifie si dans ta base tu as bien dans ta table une demande de mot de passe qui match sur ce couple email/token
Si valide, l'utilisateur est "identifié", tu peux lui proposer de définir un nouveau mot de passe dont tu stockera le nouveau hash dans ta table gérant les utilisateurs.
C'est une manière de faire, expliqué simplement. Il en existe d'autre (gérer sans donnée en BDD par exemple). TU peux également géré la date, pour faire des liens valides uniquement sur une durée limitée...