Requete select avec php

Fermé
gerrard88 - 22 janv. 2009 à 22:16
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 - 23 janv. 2009 à 10:06
Bonjour,
j'ai un probleme avec mon programme
voila j'ai ecrit un programme en php dans le quel j'ai mi u login et password pour les utilisateurs
et je veux qu'un utilisateur qui saisit son login et son pasword se connecte sur le site si et seulement si ses references existent dans ma base de donnees
ainsi je veux recuperer le login et le password et j'ai fait ceci
>> $req="select * from inscription where login=\"$_POST[login]\" and mdp=\"$_POST[password]\";"; <<
mais ca marche pas
alors si vous pouvezm'aider s'il vous plait;

4 réponses

hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
22 janv. 2009 à 22:36
essai ça:

$req=mysql_query("select * from inscription where login='$_POST[login]' and mdp='$_POST[password]' ");



Allah mo3ine
0
Partons du principe que :

- Ta zone de texte pour qu'il entre son login à pour name "login"
- Ta zone de texte pour qu'il entre son mot de passe à pour name "pass"
- Dans ta base de données ta bien une table pour les utilisateurs et t'as un champ qui s'appel "Identifient_client'
- Dans ta base de données ta bien une table pour les utilisateurs et t'as un champ qui s'appel "passe_client'

Il faut qu'tu fasses ca :



if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) // Si les zones de texte 'login' et 'pass' sont diférents de vide
		{
		$login=$_POST['login'];// Tu mets les valeurs entré dans des variables
		$mp=$_POST['pass'];// Tu mets les valeurs entré dans des variables
		include("connectBDD.php");//Connexion à la base
		$sql = "select passe_client,identifiant_client from client where identifiant_client='$login'"; // Requete vérifiant si il existe dans la base de données un identifiant_client qui s'appel 'login'
		$req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); //éxecution de la requete
		$data = mysql_fetch_assoc($req); 

			if($data['passe_client'] == $mp || $data['identifiant_client'] !=null)  //Si le mot de passe entré est = a la valeure retourné par la requete et si on a trouvé un identifiant client. C'est à dire que tout est bon ..
			{
                          // là tu fais tout ton traitement.




0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
23 janv. 2009 à 09:43
Bonjour Vins974

c'est bien dit mais je pense qu'il y'a un petit os quelque part

$sql = "select passe_client,identifiant_client from client where identifiant_client='$login'";

je préfère moi souvant vérifier les deux données à la fois LOGIN et MOT DE PASSE car rien n'exclut le fait que deux utilisateur peuvent enregistrer leur nom comme login et donc là ta requette renvoie plus d'un enregistrement. ce qui devient un peu perplexe selon moi. or la probabilité de trouver un même login et mot de passe pour deux utilisateur différent est très faible. je propose donc ça

$sql = "select passe_client,identifiant_client from client where identifiant_client='$login' AND passe_client='$mp'";

cdlt
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
23 janv. 2009 à 10:06
Ouais ;-) tout à fait !!!!
0