[]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. 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
    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 ?
      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"
    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
      }
      1. question idiote , pourquoi utiliser filter_has_var alors qu'isset semble faire à priori la meme chose ??
        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 ??