[php] fonction qui marche pas

Résolu/Fermé
Maxg59 Messages postés 275 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 7 octobre 2006 - 1 août 2005 à 20:57
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 - 3 août 2005 à 11:32
Salut a tous !!!!
je voudrais empecher les caracteres speciaux dans le champ pseudo et mot de passe lors de l'inscription sur mon site.
function detect_parasite($pseudo)
{
        //Caractères à enlever
	$puncts=array(	".",
			";",
			",",
			":",
			"!",
			"?",
			"/",
			"&",
			'\"',
			"\'",
			"(",
			")",
			"»",
			"« ",
			"\n",
			"\r"
			);
 
	foreach($puncts as $punct)
	{
                if ( strpos ($pseudo, $punct) )
		        return True;
	}
	return False;
}
//--------------------------------------------------
//verif pseudo
 if ( detect_parasite($pseudo) )
{
               //Action si mauvaise ponctuation
echo "Votre pseudo contient des caractéres spéciaux";
echo "<a href='inscription.htm'>retour</a>";
}
elseif ( detect_parasite($passe) )
{
echo "Votre mot de passe ne doit pas contenir de caracteres speciaux";
echo "<a href='inscription.htm'>retour</a>";
}

Il n'y a pas d'erreur mais quand je met un de ces caractéres dans la variable $passe il ne le detecte pas ...
A voir également:

2 réponses

dedale82 Messages postés 403 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 28 octobre 2008 282
2 août 2005 à 11:29
autant pour moi, j'ai cru voir une erreur, j'efface ce que j'ai ecrit
désolé
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
3 août 2005 à 11:32
Penche toi plutot vers les expressions regulieres (ereg en php) pour n'autoriser que les caracteres alphanumerique plutot que d'interdire les caracteres speciaux...
GOOGLE :
http://www.aidejavascript.com/article64.html
http://www.editeurjavascript.com/forums/topic-17193-4-9.html
http://www.phpinfo.net/regex/index.html :
$is_alpha = ereg("^[0-9A-Za-z]+$", $chaine);
  // ou
$is_alpha = ereg("^[[:alnum:]]+$", $chaine);

0