[RESOLU] Vérification du login et du mdp

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Vérification du login et du mdp

Re: Vérification du login et du mdp

par moogli » 01 nov. 2012, 22:46

tu ne peux pas il faut être membre, un modérateur doit pouvoir s'en occuper.


@+

Re: Vérification du login et du mdp

par alexandre44 » 01 nov. 2012, 16:47

Comment je fais pour mettre en résolu ?

Re: Vérification du login et du mdp

par alexandre44 » 01 nov. 2012, 16:46

Bonjour,

en fait c'est que j'utilise deux tables différentes.
Et sadeq j'ai pris ta solution, merci bien à vous deux.

Re: Vérification du login et du mdp

par sadeq » 31 oct. 2012, 12:44

function mdpValide($uneConnexion,$login,$mdp,$typeMembre) 
		{
        $leBonMdp=false;
		$requete = "SELECT mdp FROM $typeMembre WHERE login='$login'";
		$resultatRequete = $uneConnexion->query($requete);
	   
		if ($resultatRequete == $mdp){
			$leBonMdp=true;
			} 
        return $leBonMdp;
		}
C'est ici que j'ai mon problème où $leBonMdp renvoi false alors qu'il ne devrait pas.
C'est lié à ma mauvaise connaissance de la comparaison mais je ne sais pas comment faire.

Merci d'avance de vos réponses !
Effectivement, si la méthode $uneConnexion->query($requete); ne retourne pas la valeur du champ mdp de la requête alors le test IF qui suit ne fonctionnera jamais. Je ne sais pas comment est écrite la méthode query de l'objet connexion mais à mon avis elle ne retourne pas directement la valeur du champ donné dans le SELECT.

Je te préconise cette solution SQL qui interroge le mdp tout comme tu fais avec le login:
$requete = "SELECT count(*) as nbre FROM $typeMembre WHERE login='$login' AND mdp='$mdp' ";

Re: Vérification du login et du mdp

par dix2 » 31 oct. 2012, 12:30

salut,

la fonction qui teste l'identification :
/**
 * Fonction permettant de tester si une personne est identifiée
 * Cette fonction lance une exception execQueryMysqlException si l execution de la requete a échoué
 * @param string $login
 * @param string $password
 * @param object $dbh1
 * @return string or bool
 */
function isIdentified($login, $password, $dbh1){
    $req1 =
        "SELECT `statut`
         FROM `compte`
         WHERE `login` = '".$login."'
         AND `password` = '".$password."'";
    $res1 = $dbh1->query($req1);
    if ( $row1 = $res1->fetch() ) {
        return $row1[0];
    }
    else {
        return false;
    };
}
De plus, ce n'est pas à l'utilisateur de cocher s'il est étudiant ou professeur
C'est à toi de récupérer l'info dans la base de données
La fonction ci-dessus teste l'identification et renvoie le statut si l'identification est OK

@+
dix2

Vérification du login et du mdp

par alexandre44 » 31 oct. 2012, 11:48

Bonjour, après moult recherches sur le Web je n'ai pas trouvé chaussure à mon pied.

Dans mon appli' deux types de membres peuvent se connecter.
Vous êtes un:
			<input type='radio' value='eleve' name='typeMembre'> élève
			<input type='radio' value='professeur' name='typeMembre'> professeur



Ce qui me donne à la reception :
<?php
session_start(); 
include ('mesFonctions.php');
$uneConnexion=connexion();
if(isset($_POST))
	{
	$_SESSION['Auth'] = array (
			'identifiant' => $_POST['identifiant'],
			'mot_de_passe' => $_POST['mot_de_passe']
			);
	}

if (isset($_SESSION['Auth'])  && !empty($_POST['identifiant']) && !empty($_POST['mot_de_passe']))
				&& !mdpValide($uneConnexion[1],$_POST['identifiant'],$_POST['mot_de_passe'],$_POST['typeMembre']))
	{	 ... }
J'arrive donc dans mon fichier 'mesFonctions.php'
function mdpValide($uneConnexion,$login,$mdp,$typeMembre) 
		{
        $leBonMdp=false;
		$requete = "SELECT mdp FROM $typeMembre WHERE login='$login'";
		$resultatRequete = $uneConnexion->query($requete);
	   
		if ($resultatRequete == $mdp){
			$leBonMdp=true;
			} 
        return $leBonMdp;
		}
C'est ici que j'ai mon problème où $leBonMdp renvoi false alors qu'il ne devrait pas.
C'est lié à ma mauvaise connaissance de la comparaison mais je ne sais pas comment faire.

Merci d'avance de vos réponses !