[]PHP] filter_has_var()

Résolu
Bonjour,

filter_has_var() n'est compatible qu'avec les versions php >= 5.2.0
Wamp utilise la version 5.2.9-1.
J'ai demandé à Free si cette fonction était compatible avec leur version. On m'a répondu :

"L'appel au PHP5 peut s'effectuer en renommant les extensions .php en .php5.
Il est également possible de forcer l'utilisation de php version 5, avec la mention :
php 1
dans un fichier .htaccess présent à la racine de votre page perso.
La version est : 5.1.3RC4-dev"

-> J'ai modifié l'extansion en .php5 mais ça ne change rien.
-> Comment "forcer l'utilisation de php version 5" avec le .htaccess ?
Configuration: Windows Vista
Firefox 3.5.3

6 réponses

  1. Tu te sert de filter_has_var pour tester quoi ?
    0
    1. Bonjour

      Puisque la version de PHP5 de free est "5.1.3RC4-dev" , c'est normal que tu n'aie pas accès à une fonction qui n'est compatible qu'avec les versions >=5.2. Même si tu as correctement activé le PHP 5
      0
      1. Je me sert de cette fonction pour vérifier si le client a bien appuyer sur le bouton "envoyer" de mon formulaire, ce qui déclenche alors un envoi de mail.

        "c'est normal que tu n'aie pas accès à une fonction qui n'est compatible qu'avec les versions >=5.2. Même si tu as correctement activé le PHP 5",
        -> Oui, surement. Mais Comment "forcer l'utilisation de php version 5" avec le .htaccess ?
        0
        1. Tu as la réponse dans ta question initiale...
          il faut un fichier .htaccess à la racine de ton site et dans ce fichier une ligne "php 1"
          0
      2. tu met php1 dans ton .htaccess
        et pour vérifier que ton bouton a bien été cliqué fait un test du genre
        if(isset($_POST['envoyer'])){
             //envoi du mail
        }
        0
        1. question idiote , pourquoi utiliser filter_has_var alors qu'isset semble faire à priori la meme chose ??
          0
          1. "Question idiote"
            -> Je n'en suis pas si sûr...

            "pourquoi utiliser filter_has_var alors qu'isset semble faire à priori la meme chose ??"
            -> D'après la doc php, "filter_has_var vérifie si une variable d'un type spécifique existe" tandis que "isset — détermine si une variable est définie et est différente de NULL", ce qui revient au même.
            Toujours est-il que même avec isset, rien ne change ! :(

            Peut-être faut-il également remplacer les fonctions
            "filter_input( INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL )"
            et
            "filter_input( INPUT_POST, 'mail', FILTER_SANITIZE_EMAIL )"

            Citation doc php :
            "filter_input — Récupère une variable externe et la filtre"
            Pour lire l'article sur les fonctions FILTER_VALIDATE_EMAIL et FILTER_SANITIZE_EMAIL, lire
            " https://www.php.net/manual/fr/intro.filter.php "
            -> Par quoi peut-on remplacer ces 2 fonctions ??
            0