[Renommé] Filtres [Résolu/Fermé]

Signaler
-
 Profil bloqué -
Bonjour, j'ai une erreur du type Warning: filter_input() expects parameter 3 to be long, array given in /storage/sdcard0/pws/www/inscription.php on line 23 avec ma fonction de filtre des données utilisateurs. voici mon code..
function validPseudo($val)
 {
 global $pdoconnexion;
 $valueFinal=null;
 $options=array(
"filter"=>FILTER_VALIDATE_REGEXP,"options"=>array("regexp"=>"#^[a-z0-9]{6,90}$#i"));
$pseudo=filter_input(INPUT_POST,"pseudo",$options);
 $q=$pdoconnexion->prepare("SELECT * FROM users WHERE UNAME=?");
 $q->execute(array($pseudo));
 $nb=$q->rowCount();
 if($pseudo!=null AND $nb==0)
 {
 $valueFinal=$pseudo;
 }
 return $valueFinal;
 }


EDIT: Ajout de la coloration syntaxique.


1 réponse

Messages postés
2427
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
27 juillet 2021
453
Salut,

Comme te l'indique le message d'erreur, le 3e paramètre de la fonction filter_input() doit être l'identifiant du filtre utilisé (c-a-d FILTER_VALIDATE_REGEXP dans ton cas). Le tableau d'option contenant l'expression régulière doit être passé en 4e paramètre de filter_input().

$pseudo=filter_input(INPUT_POST, "pseudo", FILTER_VALIDATE_REGEXP, array("regexp" => "#^[a-z0-9]{6,90}$#i"));


Plus d'info : https://www.php.net/manual/fr/function.filter-input.php

Bonne journée
Profil bloqué
merci je vais réessayer .