[PHP]String sans espace ni caract. spéciaux

[Fermé]
Signaler
-
 Paradeyes -
Bonjour,
Je développe actuellement un outil en php/mySQL et j'ai un petit problème.
L'administrateur de cet outil peut créer un nouveau compte utilisateur par un formulaire tout bête.
Il doit renseigner plusieurs champs, dont un champ "login" et un autre "mot de passe".
Je souhaiterai que pour remplir ces champs, seules les lettres (a-z), les chiffres (0-9), les points (.) et underscore (_) soient autorisés. (pas d'espace autorisé non plus).

Ca fait 3 jours que je me casse la tête dessus mais je ne trouve rien de satisfaisant..
Toute aide serait la bienvenue !

Merci beaucoup.
Cordialement

9 réponses

Ok merci !

Erratum dans mon dernier post :

if($_POST) {
if(preg_match("#[^A-Za-z0-9_\.]#", $_POST['login'])) {
// Erreur format non respecté
} else {
// Inscription Ok
}
}


(javais oublié le tiret "-" entre le "A-Z")
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
837
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
23 février 2016
174
Par exemple pour le login :

if($_POST) {
if(preg_match("#[^a-z0-9_\.]#", $_POST['login'])) {
// Erreur format non respecté
} else {
// Inscription Ok
}
}

voilà.

Donc si il trouve dans le contenu de la case login (après envoi du formulaire) un caractère différent de a-z 0-9 _ et . il affiche une erreur sinon il valide...
Merci ça marche impec !
Une petite modif pour inclure les lettres majuscules :

if($_POST) {
if(preg_match("#[^AZa-z0-9_\.]#", $_POST['login'])) {
// Erreur format non respecté
} else {
// Inscription Ok
}
}


merci encore :)
Messages postés
837
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
23 février 2016
174
Soit tu filtre en directe avec Javascript, soit tu vérifie en PHP avec des REGEX et tu refuse si un autre caractère est entré alors qu'il n'est pas autorisé...
Merci pour votre réponse.

Le but n'est pas nécessairement de contrôler en temps réel la validité de la saisie en javascript.

Je veux juste effectuer un contrôle en php ou javascript lors du click sur le bouton "Enregistrer le nouvel utilisateur", mais je ne trouve pas de fonction simple permettant cette vérification.

Je suis loin d'être un expert en php et je n'arrive pas à adapter les quelques codes que je trouve pr mon application.

Merci de votre aide!
Messages postés
837
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
23 février 2016
174
Maintenant en temps réel c'est peut-être mieux pour ne pas que les utilisateurs aient besoin de changer à chaque fois leurs données parce qu'elles ne sont pas correcte, en javascript il y a moyen d'interdire la saisie de certains caractères en directe, donc plus pratique pour l'utilisateur...
Merci bcp pour ton aide !
J'avais effectivement fouiné du coté de preg_match.
Je vais tester tout ça de ce pas.. pour la validation en temps réel effectivement c'est plus pratique pour l'utilisateur... sans abuser de ton temps, tu n'aurais pas un exemple de fonction javascript dont tu me parles ?

Merci bcp !
Messages postés
837
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
23 février 2016
174
essaye toujours le php, je l'ai pas encore testé, j'ai fais ça en direct, il voir si ça fonctionne, après je te ferai le copie d'un code javascript il faudra que je fasse des essais :-)
Messages postés
837
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
23 février 2016
174
Je vais essayer de jeter un oeil pour le Javascript ce soir et je te dis quoi, concernant mon message avec la REGEX (preg_match) clique sur le "+" pour montrer aux autres qui rechercheraient le même résultat que toi que mon message fait partie de ce que tu cherchais :-)

Je te tiens au courant ;-)