Interdir certains caractères

Résolu
cedriclomb Messages postés 275 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 27 avril 2010 - 22 déc. 2005 à 11:21
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 25 déc. 2005 à 19:40
Bonjour,

Je suis débutant alors si vous partez dans des codes monstrueux commentez les svp
Je cherche a savoir comment je pourrais faire pour vérifier si un message contient tels ou tels caractères, et si il n'en contient pas d'autres, je pense qu'il faudray faire un array mais après

Merci d'avance
Cédric

7 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 déc. 2005 à 19:40
function valide($nom)
{
// Si le nom contient des caractères non autorisés dans une adresse mail correcte :
$bon="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
return ( strspn(strtolower($nom), $bon ) < strlen($nom) ) ? false : true;
}

$nom = 'truc à la con';
if ( valide($nom) === FALSE ) die ('erreur');

A la limite ca, ca peut marcher... au moins c'est moins moche que ce que tu nous as fait plus haut.
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 déc. 2005 à 11:52
si c'est un champ de formulaire
c'est plutot javascript qu'il faut utiliser
dans tous les cas, il faut effectivement initialiser un tableau avec tous les caractères autorisés
et faire une boucle pour controler caractere par caractere
par un match dans le tableau
Il faudrait plus de precision...
0
cs_sofienems Messages postés 11 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 13 mars 2009
22 déc. 2005 à 11:53
sans array vous pouvez utiliser strchr ($chaine , $car)
elle cherche la premiere occurence de carrectere
return false if it is not exist else other subject true
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 déc. 2005 à 16:28
Hello,

2 tableaux, 1 autorisés, 1 non autorisés.

puis strchr oui, ou strpos.

http://fr2.php.net/manual/fr/function.strpos.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
23 déc. 2005 à 21:45
Ou à coup d'expressions régulières aussi...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 déc. 2005 à 20:34
Salut,

surtout n'utilise pas QUE du javascript pour vérifier ça, c'est le meilleur moyen de se faire hacker ou de ne plus fonctionner si le mec désactive le javascript sur son navigateur.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cedriclomb Messages postés 275 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 27 avril 2010 1
25 déc. 2005 à 18:58
Bonsoir,
Merci pour toutes les indications que vous venez de me donner.
Voici où j'en suis arriver :

<HR>

//Gestion des messages d'erreurs
//verification du nom
// SI le nom est carrément vide :
if ($nom == "")
{
$erreurnom="Il faut obligatoirement un nom d'extention";
}
function valide($nom)
{
// Si le nom contient des caractères non autorisés dans une adresse mail correcte :
$bon="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (strspn(strtolower($nom), $bon ) < strlen($nom))
return "false";
// Si on arrive ici, c'est que tout va bien : Le nom est syntaxiquement correct :
return "";
}
if (valide($nom)=="false")<== Ligne 52
{
$erreurnom="Le nom contient des caractères intedrits il faut pas de chiffres ni d'accents";
}


<HR>


Voila le nouveau problème :
Fatal error: Call to undefined function: valide() in d:\mes documents\test_php\configsystem\paramextensions.php on line 52

Où est l'erreur
0
Rejoignez-nous