Problème connexion utilisateur en PHP+SQL

Petit nouveau ! | 1 Messages

19 mai 2012, 10:19

Bonjour à tous,

Voilà, mon site web est connecté à une base de données via PostgreSQL (serveur local géré par WAMPServer)
Ma base de données contient une table client avec toutes les informations sur le client (pseudo, password, nom, prenom)
Sur mon site, je désire réaliser une page de connexion utilisateur où celui-ci rentre un pseudo et un mot de passe...
Problème : L'utilisateur se connecte même si son pseudo et son mot de passe sont erronés O.o...
Voici une partie du code qui vous permettra d'y voir plus clair :

                $result="";
		$query="select * from client where pseudo='".$_POST['pseudo']."' and mdp='".$_POST['mdp']."'";
		sendQuery($cnx,$result,$query);
		if($result!="")
		{
		    $flag=1;
		    $_SESSION['id']=$_POST['pseudo'];
		}	
[/color]

En grattant un peu, j'ai remarqué que le problème vient du fait que le $flag passe TOUJOURS à 1, alors que si la requête ne trouve pas de résultat, le $result devrait rester à sa valeur initiale qui est ""...
HELP please ! Merci d'avance !

ViPHP
xTG
ViPHP | 7331 Messages

19 mai 2012, 10:43

$result est une ressource.
Donc si la requête n'échoue pas elle renvoie toujours une ressource (même si cette dernière est vide).
Il faut regarder ce qu'il y a dans la ressource. ;)
http://fr2.php.net/manual/en/pgsql.examples-basic.php

Pour améliorer ta requête il serait plus intéressant de faire count(pseudo) plutôt qu'un select * qui consomme davantage de ressources pour rien.