j'ai un gros problème j'arrive pas a utiliser des fonctions filtre dans mon fichier
c'est un peu vague je peu pas expliquer tout les méthodes qu l'ai imaginée
lorsque j'utilise des variables comme paramètre dans mes fonction il survient un des erreur et lorsque je commence par vérifier leur existantes elles ne sont pas utilisées par le code
//les option pour verification
$options = array('pseudo' => filter_var($pseudo, FILTER_CALLBACK, array('options' => 'validerPseudo')),
'email' => filter_var($email, FILTER_CALLBACK, array('options' => 'validerEmail')),
'pass' => filter_var($pass, FILTER_CALLBACK, array('options' => 'validerPass')),
'pass_confirm' => filter_var($pass_confirm, FILTER_CALLBACK, array('options' => 'validerPass_confirm')),
'conditions_accept' => filter_has_var(INPUT_POST, 'conditions_accept')
);
$resultat = filter_input_array(INPUT_POST, $options);
if($resultat != null) //Si le formulaire a bien été posté
{
//les messages d'erreur
$msgerreurs = array('pseudo' => 'Pseudonyme invalide',
'email' => 'Adresse e-mail incorrect',
'pass' => 'Mot de passe invalide',
'pass_confirm' => 'Les mots de passe sont different',
'conditions_accept' => 'vous devez acceptez les Conditions d\'utilisation'
);
$nbrErreurs = 0;
foreach($options as $cle => $valeur)
{
//Parcourir tous les champs voulus.
if(empty($_POST[$cle]))
{
//Si le champ est vide.
echo 'Veuillez remplir le champ ' . $cle . '.<br/>';
$nbrErreurs++;
}
elseif($resultat[$cle] === false)
{
//S'il n'est pas valide.
echo $messageErreur[$cle] . '<br/>';
$nbrErreurs++;
}
}
if($nbrErreurs == 0)
{
echo 'Bonjour ' . $resultat['pseudo'] . ' !<br/>Ton adresse de messagerie est bien ' . $resultat['email'] . ' ?<br/>';
echo 'ton mot de passe ' . $resultat['pass'] . ' Bienvenu !';
}
}
else
{
echo 'Vous n\'avez rien posté.';
}
les fonctions
<?php
if (isset($_POST['pseudo']) AND isset($_POST['email']) AND isset($_POST['pseudo']) AND isset($_POST['pass_confirm']))
{
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email= mysql_real_escape_string($_POST['email']);
$pass = mysql_real_escape_string($_POST['pass']);
$pass_confirm = mysql_real_escape_string($_POST['pass_confirm']);
function validerPseudo($pseudo)
{
if (preg_match("#^([a-zA-Z0-9]){3,}$#", $pseudo))
{
return $pseudo;
}
else
{
return false;
}
}
function validerEmail($email)
{
if (condition)
{
# code...
}
else
{
return false;
}
}
function validerPass($pass)
{
if (strlen($pass)>=6)
{
filter_var($pass, FILTER_SANITIZE_STRING);
return $pass;
}
else
{
return false;
}
}
function validerPass_confirm($pass_confirm)
{
if ($pass_confirm == $pass)
{
filter_var($pass_confirm, FILTER_SANITIZE_STRING);
return $pass_confirm;
}
else
{
return false;
}
}
}
?>