Comparaison variables php et base données mysql

Résolu
Kowli_12 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Kowli_12 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous
J'aimerais savoir comment comparer des variables envoyer par la méthode post à seuls stocké dans une base de donnée MySQL
par exemple comparer les données entré par l'utilisateur à seul enregistré dans la base de donnée.

Merci d'avance à ceux qui useront de leur temps pour me répondre
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Pour que l'utilisateur puisse envoyer des données en POST .. il faut un formulaire HTML
Ensuite, pour faire la comparaison ton script devra :
- Faire la connexion à la bdd ( en PDO ou Mysqli )
- Faire une requête SELECT qui ira chercher les données en BDD avec, dans le WHERE, ce que tu veux comparer


0
Kowli_12 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse
Voici mon script, qui ne marche toujours pas d'ailleurs


if(!empty($_POST['user']) && !empty($_POST['password']))
{

$pseudo = $_POST['user'];
$password = $_POST['password'];


try {
$connexion = new PDO("mysql:host=$loalhost;dbname=Membres;charset=utf8", $user, $pass);
$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (Exception $ex) {
echo 'probleme de connexion à la base de donnée<br>'.$ex->getMessage();
}


$dbase =$connexion->prepare( 'SELECT Pseudo, Password FROM User WHERE Pseudo="'.$pseudo.'" AND Password="'.$password.'"');

$dbase->execute();



if($resultat=$dbase->fetch())
{
echo '<br>Bonjour '.$resultat['Pseudo'];
}
else
{
echo '<br>Identifiants incorrect';
}
}
else {
echo '<br>Veillez remplir vos idenfiants';
}


Ici même quand les condition ne sont pas remplie le script affiche toujours Bonjour $resultat['Pseudo']
ce qui ne devrais pas être le cas si le mot de passe ou le pseudo ne correspond pas à seuls déjà stocké sur la base de données
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Déjà...La comparaison se fait avec 2 =
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
De plus.. attention.
Désormais on utilise la fonction password_verify pour stocker les password et les vérifier :
https://www.php.net/manual/fr/function.password-verify.php
et donc, pour encoder le password (celui que tu stockes dans ta bdd) : http://php.net/manual/fr/function.password-hash.php

Voici un exemple de code : https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
0
Kowli_12 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la rapidité du réponse
bien que je sois un débutant, je vais essayer de comprendre les contenue des liens que tu m'a proposé
Mais qu'entend tu par Déjà...La comparaison se fait avec 2 =
à quel niveau devrais-j’ajouter un autre signe = ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Kowli_12 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
J'avais mal lu ton IF.
Là non ça n'aurait pas été nécessaire.
0
Kowli_12 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci encore pour tes tuyaux qui m'a permit de voir l’erreur, en faite c'était au niveau de la base de données.
Je vous remercie vous deux d'avoir pris votre temps si précieux pour m’aiguillais
Je vais marquer comme résolu
0