IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

fonction de verification login E-mail ou pseudo [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    146
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 146
    Points : 97
    Points
    97
    Par défaut fonction de verification login E-mail ou pseudo
    Bonjour tout le monde
    Je suis en train de développer un système pour vérifier si le login et une adresse email ou un pseudo pour un site.
    j'ai bien lu le cours Validation d'adresse e-mail en PHP
    Ensuite j'ai adopté cette fonction à mon besoin!
    Le problème c que le premier résultat est fausse et reste c bon !!
    Voici mon code avec les commentaires.
    Tout d'abord la fonction: retourne la bonne clause Where pour une requete SELECT avec cette façon :
    - si le login et un email => USER_EMAIL ='".$elogin."' AND PASSWORD LIKE '".$epass."' AND ID_STAT=1
    -si c'est un pseudo => USERNAME ='".$elogin."' AND PASSWORD LIKE '".$epass."' AND ID_STAT=1 AND CREATED_TSTAMP < '".$dt_ancien_ins."'
    avec $dt_ancien_ins une date.

    ensuite le traitement de l'affichage et enfin le résultat avec le problème mentioné en rouge.

    PS: Je joins un petit fichier pour l'exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function getClauseByloginType ($elogin,$epass,$dt_ancien_ins)
    		{
    			$atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase
    			$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
     
    			$regex = '/^' . $atom . '+' .   // Une ou plusieurs fois les caractères autorisés avant l'arobase
    			'(\.' . $atom . '+)*' .         // Suivis par zéro point ou plus
    											// séparés par des caractères autorisés avant l'arobase
    			'@' .                           // Suivis d'un arobase
    			'(' . $domain . '{1,63}\.)+' .  // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
    											// séparés par des points
    			$domain . '{2,63}$/i';          // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
     
    			// test de l'adresse e-mail
    			if (preg_match($regex, $elogin)) 
    			{				
    		  		return " USER_EMAIL ='".$elogin."' AND PASSWORD LIKE '".$epass."' AND ID_STAT=1 ";
    			} 
    			else 
    			{				
    		 		 return " USERNAME ='".$elogin."' AND PASSWORD LIKE '".$epass."' AND ID_STAT=1  AND '".$dt_ancien_ins."'";
    			}
    		}//End getCaluseByLoginType
    mes echo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    		$dt_ancien_ins = "2012-12-18";
     
    		$email1 = "isemail1@yahoo.fr ";
    		$email2 = "isemail2@yahoo.fr";
    		$email3 = "isemail1_3@hotmail.fr";
    		$email4 = "isemail1.isemail1.isemail1@gmail.com";
    		$email5 = "isemail1-3@ochan";
    		$login1 ="log_in1";
    		$login2 ="log.in2"; ;
    		$login3 ="cfr.com"; 
    		$v =   getClauseByloginType($email1,"",$dt_ancien_ins);
    		echo $v."<br /> <br /> <br />";
    		$v1 = getClauseByloginType($email2,"",$dt_ancien_ins);
    		echo $v1."<br /> <br /> <br />";
    		$v2 = getClauseByloginType($email3,"",$dt_ancien_ins);
    		echo $v2."<br /> <br /> <br />";
    		$v3 = getClauseByloginType($email4,"",$dt_ancien_ins);
    		echo $v3."<br /> <br /> <br />";
    		$v4 = getClauseByloginType($email5,"",$dt_ancien_ins);
    		echo $v4."<br /> <br /> <br />";
    		$v5 = getClauseByloginType($login1,"",$dt_ancien_ins);
    		echo $v5."<br /> <br /> <br />";
    		$v6 = getClauseByloginType($login2,"",$dt_ancien_ins);
    		echo $v6."<br /> <br /> <br />";
    		$v7 = getClauseByloginType($login3,"",$dt_ancien_ins);
    		echo $v7."<br /> <br /> <br />";
    		exit();
    Voici le resultat remarquer le premier result en rouge !

    USERNAME ='isemail1@yahoo.fr ' AND PASSWORD LIKE '' AND ID_STAT=1 AND '2012-12-18'


    USER_EMAIL ='isemail2@yahoo.fr' AND PASSWORD LIKE '' AND ID_STAT=1


    USER_EMAIL ='isemail1_3@hotmail.fr' AND PASSWORD LIKE '' AND ID_STAT=1


    USER_EMAIL ='isemail1.isemail1.isemail1@gmail.com' AND PASSWORD LIKE '' AND ID_STAT=1


    USERNAME ='isemail1-3@ochan' AND PASSWORD LIKE '' AND ID_STAT=1 AND '2012-12-18'


    USERNAME ='log_in1' AND PASSWORD LIKE '' AND ID_STAT=1 AND '2012-12-18'


    USERNAME ='log.in2' AND PASSWORD LIKE '' AND ID_STAT=1 AND '2012-12-18'


    USERNAME ='cfr.com' AND PASSWORD LIKE '' AND ID_STAT=1 AND '2012-12-18'
    merci bien en avance.
    cette fontion ma rendu fou ce matin
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Pour valider les mails, PHP le fait nativement. Le tuto est obsolète.

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    146
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 146
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Salut,

    Pour valider les mails, PHP le fait nativement. Le tuto est obsolète.
    Merci pour la réponse.
    J'ai y jeté un coup d’œil avant de poster mon problème, et j'ai remarqué que tout le monde utilisent la fonction preg_match!
    j'ai été douté vraiment .. voila pourquoi j'ai suivi le tuto
    Heureusement le problème a été résolu ave la fonction native mais on je ne sais pas d’où vient l’erreur en haut !
    Très cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction de verification de mail en js
    Par hraiwen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2009, 12h42
  2. fonction de verification de formulaire
    Par jayfaze dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/04/2007, 18h05
  3. [Mail] verification adresse e-mail
    Par H-bil dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo