Comparaison variables php et base données mysql

Résolu/Fermé
Kowli_12 Messages postés 10 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 28 avril 2018 - 24 févr. 2018 à 00:11
Kowli_12 Messages postés 10 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 28 avril 2018 - 26 févr. 2018 à 19:10
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
24 févr. 2018 à 09:51
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 lundi 19 février 2018 Statut Membre Dernière intervention 28 avril 2018
24 févr. 2018 à 23:21
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
24 févr. 2018 à 23:30
Déjà...La comparaison se fait avec 2 =
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
24 févr. 2018 à 23:46
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 lundi 19 février 2018 Statut Membre Dernière intervention 28 avril 2018
25 févr. 2018 à 00:36
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Kowli_12 Messages postés 10 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 28 avril 2018
25 févr. 2018 à 09:55
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 lundi 19 février 2018 Statut Membre Dernière intervention 28 avril 2018
26 févr. 2018 à 19:10
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