Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1436 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  J'ai besoin d'une petite mise à jour de syntaxe : fonction eregi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

J'ai besoin d'une petite mise à jour de syntaxe : fonction eregi

n°1942914
djodjolyon
Posté le 20-11-2009 à 18:29:25  profilanswer
 

Salut,
 
Petite question à 5 euros!!!
 
J'ai récupérer un bout de code mais une partie ne fonctionne plus à cause de php 5.3
Mais comme je n'y connait rien, j'arrive pas à trouver la bonne syntaxe.

Code :
  1. elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.
  2. [a-z]{2,4}$",$_POST["son_email"])){ // On vérifie si l'email est bien de la forme  
  3. messagerie@domaine.tld (cf cours d'expressions régulières)
  4.             $erreur="Votre adresse e-mail n'est pas valide...";
  5.         }

Apparemment avec un preg_match ça doit pouvoir fonctionner...
Vous pourriez me resyntaxer ce bout de code siouplait.
 
Merci d'avance

mood
Publicité
Posté le 20-11-2009 à 18:29:25  profilanswer
 

n°1942929
stealth35
Posté le 20-11-2009 à 19:01:46  profilanswer
 

meme avec php 5.3, depuis longtemp tu peu faire
 
filter_var($email, FILTER_VALIDATE_EMAIL);

n°1942936
djodjolyon
Posté le 20-11-2009 à 19:30:02  profilanswer
 

stealth35 a écrit :

meme avec php 5.3, depuis longtemp tu peu faire
 
filter_var($email, FILTER_VALIDATE_EMAIL);

Je l'intègre comment là dedans? Ligne 7 à 9.

Code :
  1. if (empty($_POST["son_pseudo"])) {
  2. $erreur="Vous n'avez pas entré votre pseudo...";
  3. }
  4. elseif (empty($_POST["son_email"])) {
  5. $erreur="Nous avons besoin de votre e-mail pour vous répondre...";
  6. }
  7. elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.
  8. [a-z]{2,4}$",$_POST["son_email"])){
  9. $erreur="Votre adresse e-mail n'est pas valide...";
  10. }
  11. elseif (empty($_POST["son_objet"])) {
  12. $erreur="Vous devez entrer l'objet de votre message...";
  13. }
  14. elseif (empty($_POST["son_message"])) {
  15. $erreur="Merci de saisir un message...";
  16. }
  17. else {
  18. $etat="ok";
  19. }
  20. }
  21. else {
  22. $etat="attente";
  23. }
  24. if ($etat!="ok" ){
  25. if ($etat=="erreur" ){
  26. echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n";
  27. }


Message édité par djodjolyon le 20-11-2009 à 19:30:35
n°1942945
skeye
Posté le 20-11-2009 à 20:05:29  profilanswer
 

stealth35 a écrit :

meme avec php 5.3, depuis longtemp tu peu faire
 
filter_var($email, FILTER_VALIDATE_EMAIL);


php 5.2 c'est pas si vieux.:o


---------------
Can't buy what I want because it's free -
n°1942947
stealth35
Posté le 20-11-2009 à 20:10:24  profilanswer
 

skeye a écrit :


php 5.2 c'est pas si vieux.:o


 
c'est vrai, mais depuis fin 2006 on a un peu le temps d'etre au courant  :sleep:  
 
 
 
sinon djodjolyon  , tu le met dans ta condition comme ton regexp, filter_var te rendre  vrai ou faux

n°1942959
djodjolyon
Posté le 20-11-2009 à 20:52:04  profilanswer
 

[quotemsg=1942947,5,236300]
 
Bon j'ai écris ça :

Code :
  1. elseif(!filter_var($son_email, FILTER_VALIDATE_EMAIL)) {
  2.   $erreur="Votre adresse e-mail n'est pas valide...";
  3.  }


Il me renvoit:

Code :
  1. Fatal error: Call to undefined function: filter_var() in /mnt/000/sdb/9/9/xxxxxxxxx/formcontact.php on line 36

:??:


Message édité par djodjolyon le 20-11-2009 à 21:29:48
n°1942962
stealth35
Posté le 20-11-2009 à 21:01:24  profilanswer
 

étrange..., regarde si c'est actif via ton phpinfo(), mais par default ca l'est

 

http://www.php.net/manual/fr/ref.filter.php


Message édité par stealth35 le 20-11-2009 à 21:02:55
n°1942967
djodjolyon
Posté le 20-11-2009 à 21:56:51  profilanswer
 

Bon en fait je viens de voir que les serveurs free ne prennent pas en charge "filter_var".
 
Donc j'ai changé en

Code :
  1. if (!preg_match("#^&#91;a-zA-Z0-9._-&#93;+@&#91;a-zA-Z0-9._-&#93;{2,}\.&#91;a-z&#93;{2,4}$#", $email))


Mais j'ai une autre erreur :

Code :
  1. Warning: preg_match() [function.preg-match]: Unknown modifier '9' in /mnt/000/sdb/9/9/xxxxxxxxx/formcontact.php on line 36


Tu vois ce que ça peux vouloir dire Unknown modifier '9' et comment on pourrait régler ça?


Message édité par djodjolyon le 20-11-2009 à 21:57:34
n°1942969
stealth35
Posté le 20-11-2009 à 22:13:32  profilanswer
 

a donct'es pas en php 5.3,  t'as activé le php 5 quand meme sur free ?

n°1942970
djodjolyon
Posté le 20-11-2009 à 22:18:21  profilanswer
 

Je pensais que j'étais en php 5.3 mais effectivement non!
je viens de me mettre en php 5 mais ça ne change rien!
Je crois que d'ici peu je vais chercher un hébergeur...


Message édité par djodjolyon le 20-11-2009 à 22:19:16
mood
Publicité
Posté le 20-11-2009 à 22:18:21  profilanswer
 

n°1942971
stealth35
Posté le 20-11-2009 à 22:56:59  profilanswer
 

pour l'email j'avai ca pendant un moment, meme si c'est plus simple que le vrai ca marche quand meme
 
/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/

n°1943074
djodjolyon
Posté le 21-11-2009 à 14:56:39  profilanswer
 

Voilà le code que j'ai rentré :

Code :
  1. elseif (!preg_match("/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/", $son_email))


Et une erreur similaire :

Code :
  1. Warning: preg_match() [function.preg-match]: Unknown modifier '=' in /mnt/000/sdb/9/9/xxxxxxxxx/formcontact.php on line 36

J'ai pas d'erreur dans le code selon toi sur la syntaxe?
Sinon tant pis...
De toute façon, je reçois l'email avec une fausse adresse mais si c'est qu'un arobase ou un point à changer, ça ne devrait pas être trop difficile de trouver où le placer...


Message édité par djodjolyon le 22-11-2009 à 16:24:00
n°1943533
stealth35
Posté le 23-11-2009 à 15:04:41  profilanswer
 

Code :
  1. $email     = 'test@test.com';
  2.     $pat     = "/^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\" )|([A-Za-z0-9_][A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*)*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z0-9\\-]))?)+[A-Za-z]+))$/D";
  3.     
  4.     if(preg_match($pat, $email))
  5.     {
  6.         echo 'valide';
  7.     }
  8.     else
  9.     {
  10.         echo 'pas valide';
  11.     }
 

pour le regexp, j'ai simplement recopié celle de la source php
http://svn.php.net/viewvc/php/php- [...] xt%2Fplain


Message édité par stealth35 le 23-11-2009 à 15:05:11

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  J'ai besoin d'une petite mise à jour de syntaxe : fonction eregi

 

Sujets relatifs
Problème avec la fonction Unlink[CSS] Question de mise en page/structure générale (résolu)
Internet Explorer : erreur de syntaxe ligne 4appel d'une fonction dans une boucle ne se réalise qu'une fois
Cherche docu CSS (mise en page "basique")mise a jour ado
[VBA-Word] remplacer la mise en forme d'un texte entre guillemetsProblème rapidité de mise en pause
arbre binaire/fonction recursif/lecture fichier 
Plus de sujets relatifs à : J'ai besoin d'une petite mise à jour de syntaxe : fonction eregi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR