problème avec la vérification d'email

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 : problème avec la vérification d'email

par zab » 05 déc. 2007, 16:13

bah euh... non .... non seulement tu m'as laissé les doubles apostrophes, mais en plus toutes tes classes on perdu leurs crochets au profits de nouvelles apostrophes... regarde la coloration syntaxique du site, ton masque étant une chaine il devrait être en rouge :)
// au lieu de 
''^[[:alnum:]]([-_.]?[[:alnum:]])*@ [[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$''
// il suffisait de 
 '^[[:alnum:]]([-_.]?[[:alnum:]])*@ [[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$'
aie désolée la prochaine fois je ferais plus attention :D

en tout cas ça marche :P

par Ryle » 05 déc. 2007, 16:00

bah euh... non .... non seulement tu m'as laissé les doubles apostrophes, mais en plus toutes tes classes on perdu leurs crochets au profits de nouvelles apostrophes... regarde la coloration syntaxique du site, ton masque étant une chaine il devrait être en rouge :)
// au lieu de 
''^[[:alnum:]]([-_.]?[[:alnum:]])*@ [[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$''
// il suffisait de 
 '^[[:alnum:]]([-_.]?[[:alnum:]])*@ [[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$'

par zab » 05 déc. 2007, 15:14

Moi ! Moi m'sieur ! moi je sais !! ;)

Ton expression régulière est délimitée par deux apostrophes... de chaque côté ! :)
Du coup php ouvre et referme la chaine aussitôt, puis tente d'interpréter ton pattern comme une instruction php à laquelle il ne comprend rien et trouve une nouvelle chaine vide à la fin.

Délimite ta chaine avec des guillemets ou des apostrophes, mais sans les doubler, ça fonctionnera déjà mieux ;)
ok merci beaucoup j'essaye ça de suite :D

ben je viens d'essayer et il met toujours qu'il y a erreur
voilà le code comme il est en ce moment
//---contrôle d'une adresse e-mail
function controle_email($email)  {
	if(!preg_match(''^':alnum:'([-_.]?':alnum:')*@ ':alnum:'([-_.]?':alnum:')*.([a-z]{2,4})$'',$email))  {
	   return(0);
	}
}

par Ryle » 05 déc. 2007, 15:09

Moi ! Moi m'sieur ! moi je sais !! ;)

Ton expression régulière est délimitée par deux apostrophes... de chaque côté ! :)
Du coup php ouvre et referme la chaine aussitôt, puis tente d'interpréter ton pattern comme une instruction php à laquelle il ne comprend rien et trouve une nouvelle chaine vide à la fin.

Délimite ta chaine avec des guillemets ou des apostrophes, mais sans les doubler, ça fonctionnera déjà mieux ;)

problème avec la vérification d'email

par zab » 05 déc. 2007, 15:04

Bonjour voici mon code
//---contrôle d'une adresse e-mail
function controle_email($email)  {
	if(!preg_match(''^[[:alnum:]]([-_.]?[[:alnum:]])*@ [[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$'',$email))  {
	   return(0);
	}
}
seulement j'ai le message d'erreur suivant qui s'affiche
Parse error: parse error in d:\program files\easyphp1-8\www\livrephp\classe_boutique.php on line 1074 (la ligne 1074 étant if(!preg_match(''^[[:alnum:]]([-_.]?[[:alnum:]])*@ [[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$'',$email)) {
)
est ce que quelqu'un sait d'où vient l'erreur ?
merci