Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 20/05/2011, 21h20   #1
 
Homme
Collégien
Inscription : mars 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Collégien

Informations forums :
Inscription : mars 2011
Messages : 45
Points : -3
Points : -3
Par défaut reconnaitre si un identifiant entré existe dans la base de donnee

bonjour,
mon problème est le suivant j'ai une page d’accueil ou l'utilisateur entre son pseudo et son mot de passe et j'aimerai savoir la méthode a suivre pour vérifier s'il appartient oui ou non a ma base de donnée (bien sur ça se fera dans la page traitement)afin de continuer les traitements ou lui envoyer un message d'erreur

merci d'avance

j'ai tente ça mais j'ai pas l'impression que c'est correcte qu'en pensez vous?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
 
    $req = $bdd->query('SELECT identifiant from adherent ');
    $beq=$bdd->query('SELECT code from adherent');
 
  while( $donnees = $req->fetch() AND $bonnes=$beq->fetch())
 
 
 
	if (isset($_POST['mot_de_passe']==$bonnes)  AND $_POST['utilisateur']==$donnes)

je continue le traitement
ibuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 22h10   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu n'as pas besoin de parcourir toute la table pour trouver l'utilisateur :

Code :
1
2
3
$req = $bdd->prepare('SELECT identifiant from adherent WHERE code=:mdp AND identifiant=:login');
$req->execute(array(':mdp'=>$_POST['mot_de_passe'], ':login'=>$_POST['utilisateur']))
$resultat = $req->fetchAll();
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 20/05/2011, 23h41   #3
 
Homme
Collégien
Inscription : mars 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Collégien

Informations forums :
Inscription : mars 2011
Messages : 45
Points : -3
Points : -3
@sabotage

merci pour cette precision mais ma condition portera sur quoi car a ce que je sache resultat est une sorte de tableau de login et mot de passe

cette ecriture a elle un sens??
Code :
if  (isset($_POST['mot_de_passe']==$resultat['mdp'] AND  isset($_POST['identifiant']==$resultat['login'])
ibuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 04h49   #4
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
$req->fetchAll(); récupère toutes les lignes, c'est donc un tableau à deux dimensions dont le premier index est égal à la ligne en cours.

Donc tu pourrais faire
Code :
if (isset($_POST['mot_de_passe']) && $_POST['mot_de_passe'] == $resultat[0]['mdp'] && isset($_POST['identifiant']) && $_POST['identifiant']==$resultat[0]['login'])
mais bon puisque tu demande à la requête de te retourner si une ligne vérifie les conditions il te suffit de faire :
Code :
if(count($resultat)) == 1)
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 09h51   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
@ibuto, ta médode doit techniquement fonctionner mais elle est absurde.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 11h44   #6
 
Homme
Collégien
Inscription : mars 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Collégien

Informations forums :
Inscription : mars 2011
Messages : 45
Points : -3
Points : -3
@sabotage

oui ca peut paraitre absurde pour un professionel mais moi je ne suit qu'au debut et ce n'est qu'une initiative personnelle pas d'encadrant pas de prof pour te diriger vers la bonne methode a suivre merci donc a toi et @ABCIWEB

pour moi le bloquage se fait au niveau des conditions de reception de donnes c'est le veritable probleme que je rencontre pour le moment car j'avait l'habitude de faire juste un isset et comparer le mot de passe avec un deja existant la avec 2 objet a verifier et a comparer a ma base de donnee je coince mais je vais tenter d'appliquer vos conseils a la lettre et voir le resultat
ibuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 11h56   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Citation:
pas d'encadrant pas de prof pour te diriger vers la bonne methode a suivre
Regarde les tutos ou même le forum, il est truffé d'exemples d'authentification
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 12h25   #8
 
Homme
Collégien
Inscription : mars 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Collégien

Informations forums :
Inscription : mars 2011
Messages : 45
Points : -3
Points : -3
@sabotage

c'est exactement ce que je fait en tout cas grand merci pour votre aide car vous m'avez mit dans la bonne voie
meme si j'ai encore des soucis nottament differencier entre un utilisateur normal et un administrateur j'ai fait une boucle avec if else l'administrateur est defini par un mot de passe et un identifiant existant dans le code source alors que l'utilisateur je doit aller le chercher dans la base de donnees probleme lors de l'execution le programme saute directement vers le else c'est a dire l'ouverture de la base de donnee sans passer par le if meme si j'entre exactement les coordonnes de l'admin qui sont dans le code source
ibuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 17h05   #9
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Faudrait apprendre à faire des phrases un peu plus courtes car je suis pas certain d'avoir tout compris

Concernant la gestion des droits on utilise souvent un champ de la table d'identification qui est réservé à cet effet.
En fonction de ce champ récupéré lors de l'authentification on peut facilement définir des droits avec des variables de session par exemple.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB 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 16h27.


 
 
 
 
Partenaires

Hébergement Web