Call to undefined function: filter_var() : comment puis-je faire ???

Tohru222
Invité n'ayant pas de compte PHPfrance

19 janv. 2009, 00:12

Bonjour,

voilà tout est dans le titre.

je viens de mettre mon site sur l'hébergeur Free. Il marchait très bien sur mon ordi, et là j'ai l'erreur :
Call to undefined function: filter_var()

comment puis-je faire pour détourner le problème ?

merci

ViPHP
ViPHP | 3607 Messages

19 janv. 2009, 00:22

Aller voir ailleurs?
Non sèrieusement, Free ne propose pas l'extension filter...
Donc à toi de voir si tu peux faire autrement, ou si tu dois aller chez un vrai hébergeur ;)

Tohru222
Invité n'ayant pas de compte PHPfrance

19 janv. 2009, 00:23

en fait je l'ai utilisé, lors de l'identification des visiteurs. le login c leur e-mail, et je voulais vérifier, que ce qui est saisi est bien au format e-mail....

Eléphant du PHP | 447 Messages

19 janv. 2009, 00:54

Dans le traitement du formulaire de login tu peux utiliser un truc comme ça pour vérifier qu'il s'agit bien d'un mail:
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email))

{

        echo 'Ce n\'est pas une adresse qu\'elle est correcte...';
}
Je ne sais pas si ça correspond à ce que tu cherches...

$email doit correspondre au champ mail de ton formulaire, donc tu mets ce que tu veux à la place.
Probably (only a) Human Problem?

Tohru222
Invité n'ayant pas de compte PHPfrance

19 janv. 2009, 14:59

Merci Stef ça marche impec !!!!

merci encore

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 janv. 2009, 15:37

Pour l'explication de l'absence, je pense que ça viens du fait que filter_var() est une fonction disponible depuis php 5.2.0, et que free, par défaut, propose PHP 4.

Il faut mettre en place un .htaccess pour utiliser PHP 5 pour les fichier .php.
Selon plusieurs sources google, dans le cas de Free, il suffit de mettre

Code : Tout sélectionner

php 1
dans le .htaccess pour que PHP 5 soit la version utilisée
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 447 Messages

19 janv. 2009, 15:37

Pas de quoi, ravi d'avoir pu te rendre service! :wink:

ceci-dit, et pour ne point manquer à mes obligations de membre de ce forum, je t'invite à te documenter sur ce que tu viens d'utiliser... normal, il ne faut pas faire que recopier, il faut aussi apprendre! :D

certains par ici furent vertement repris par les maître jedi de php france pour n'avoir point encourager ceux qui viennent en quête de réponse à aller dans le sens que j'ai évoqué dans mon conseil!
Nonobstant la forme de leur remontrance (qui parfois peut être sèche), et compte tenu du bon sens de leur position, je dois bien reconnaître qu'ils ont raisons les maîtres jedi... :)
Probably (only a) Human Problem?

zerstorer
Invité n'ayant pas de compte PHPfrance

03 mars 2009, 22:34

Les fonctions "filter_*" sont disponibles à partir de PHP 5.2.0

Or, les serveurs de free, même en activant PHP 5, utilisent "PHP Version 5.1.3RC4-dev"

Donc oui, les Regex sont la meilleure solution en remplacement :)