[Renommé] Filtres

Résolu/Fermé
Profil bloqué - Modifié par Whismeril le 26/06/2015 à 06:11
 Profil bloqué - 26 juin 2015 à 05:15
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

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
25 juin 2015 à 13:06
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
0
Profil bloqué
26 juin 2015 à 05:15
merci je vais réessayer .
0