Identfication php avec sql

Fermé
fortune123 Messages postés 1 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 4 février 2014 - Modifié par pijaku le 4/02/2014 à 15:59
robinam Messages postés 25 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 6 février 2014 - 5 févr. 2014 à 22:19
j'avais un problème sur php
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:

2 réponses

stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
Modifié par pijaku le 4/02/2014 à 15:58
Bonsoir mon ami,
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
0
robinam Messages postés 25 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 6 février 2014 2
4 févr. 2014 à 21:27
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
0
reaverlost Messages postés 150 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 14 mai 2018 21
5 févr. 2014 à 09:24
Salut,

Une question par rapport au hash. S'il veut rajouter sur son site un bouton "mot de passe oublié" qui renverrai le mot de passe du membre sur son adresse mail, comment est-ce qu'il ferait?

Merci
0
robinam Messages postés 25 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 6 février 2014 2
5 févr. 2014 à 22:19
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...
0