8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je viens d'héberger un site que j'ai développé en local.
J'y ai incorporé un formulaire permettant à quiconque de me contacter, toutefois j'ai un soucis sur une ligne de code qui est la suivante :

if(filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL))


Php m'indique l'erreur suivante :

"Fatal error: Call to undefined function: filter_var() in /homepages/20/d337318033/htdocs/contact.php on line 13"

Comment pourrais je résoudre le problème ?

Cordialement,

Openwave
Modérateur
Bonjour,

Quelle version de PHP est supportée par ton hébergeur?

La fonction filter_var n'existe qu'avec PHP 5.2 et plus.
Hello,

Ton hébergeur te propose quelle version de PHP?

Filter_var n'est apparu qu'a partir de PHP 5.2 de tête.

EDIT : Grillé Smiley sweatdrop
Modifié par Florian_R (08 Dec 2010 - 18:01)
hé bien la version est : PHP Version 4.4.9 --'

je crois que je vais devoir faire appel à une autre solution comme les expression régulières ^^
Yop,

Voici l'expression régulière qui permet de valider un mail selon la RFC 2822
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(? [decu]?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(? [decu]?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9] [decu]?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Heu bien sur tu remplaces les ' Smiley decu ' par ': (' sans espaces entre les deux points et les parenthèses fermantes

mais tu peux te servir de celle si plus courte, donc plus simple, qui couvre la majeur partie des mails (mais pas tous)
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?