Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2007, 12h14   #1
Membre du Club
 
Avatar de Aizen64
 
Inscription : mai 2007
Messages : 183
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 183
Points : 67
Points : 67
Par défaut [SQL] Requete SQL pour log in

Salut!

Je travaille sur un "pseudo" site-marchant (ça ressemble pas à grand chose) et je dois travailler sur un panier électronique, le truc c'est qu'il faut que la personne soit loggée (formulaire log in avec une requete pour vérifier si le nom d'utilisateur existe dans la BD).

Voilà le topo :

Base de donnée :

Table clients :

Nom_cli (champ a rechercher)

Donc le truc c'est que je fais une page avec un formulaire qui envoie en POST des variables : Nom et MotDePasse, j'envoie sur une page qui se connecte à la base de données et j'execute la requete SQL sur le nom d'utilisateur :

Code :
1
2
 
$RequeteNomUtil=mysql_query("SELECT clt_nom FROM clients WHERE clt_nom=".$_NomUtilisateur."") or die mysql_error();
Le truc c'est que je sais plus comment faire en PHP pour vérifier si l'enregistrement existe (boucle While) et afficher un message d'erreur (je sais c'est un problème d'algo de base).

Merci.
Aizen64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 12h49   #2
Candidat au titre de Membre du Club
 
Étudiant
Inscription : avril 2006
Messages : 26
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Charente Maritime (Poitou Charente)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2006
Messages : 26
Points : 12
Points : 12
Ca fait un certain temps que je n'ai pas touché à php, mais tu peux faire il me semble (dans la mesure ou si il n'y a pas de client ayant cet id, le résultat de la requete sera vide):
Code :
1
2
3
4
 
if(count($RequeteNomUtil) == 0)
//pas de client pour cet id
else //traiterclient
Kyrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 12h57   #3
Membre éprouvé
 
Homme
Développeur informatique
Inscription : janvier 2005
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 50
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique
Secteur : Conseil

Informations forums :
Inscription : janvier 2005
Messages : 349
Points : 439
Points : 439
Salut,
pour vérifier si l'utilisateur est dans la base, il suffit en effet de vérifier le nombre de résultats retournés et pour cela, la fonction à utiliser est :
Code :
1
2
3
4
5
6
if (mysql_num_rows($RequeteNomUtil) == 0) {
  // code pour traiter l'absence de l'utilisateur
}
else {
  // code pour traiter l'utilisateur ( vérification du mot de passe )
}
beeboo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 13h06   #4
Candidat au titre de Membre du Club
 
Étudiant
Inscription : avril 2006
Messages : 26
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Charente Maritime (Poitou Charente)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2006
Messages : 26
Points : 12
Points : 12
beeboo, ca ne fonctionne pas avec count() ?
Kyrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 13h11   #5
Membre éprouvé
 
Homme
Développeur informatique
Inscription : janvier 2005
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 50
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique
Secteur : Conseil

Informations forums :
Inscription : janvier 2005
Messages : 349
Points : 439
Points : 439
count(), c'est pour les arrays, ici on a juste une resource vers les résltats de la recherche qui n'est pas un array. C'est pour ça que la fonction mysql_num_rows() existe.
beeboo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h00.


 
 
 
 
Partenaires

Hébergement Web