overdoze Posted November 6, 2010 Share Posted November 6, 2010 bonjour a tousen testant ma boutique j'ai remarqué que lorsque je crée un compte client, les 2 champs nom et prénom acceptent les -(tiret six) donc je peut avoir un client qui a comme nom --- et prénom -- et par suite j'aurais une commande passé par le client 'fantôme' Mr -- --- ce qui est inacceptable sur une boutique Ecommerce comme PS parce que si je veux vendre mes produits en ligne je doit savoir le nom et prénom du client .j'ai cherché sur le forum mais pas de réponse. L'essentiel pour moi c de ne pas autoriser ce client fantôme a passer des commande c a d que lorsque il tente de passer une commande il sera rejeté automatiquement par le biais d'un petit code de contrôle sur les 2 champs nom et prénom lors de création de la commande: si les deux champs ne contiennent pas des caractères alphabétique =>pas de commande a passer, mais je ne sais pas dans quel fichier exactement je doit le mettre.un coup de main plzCordialement Link to comment Share on other sites More sharing options...
jeckyl Posted November 6, 2010 Share Posted November 6, 2010 Bonjour,dans un premier temps vous pouvez aussi désactiver ce client ou l'effacer dans votre backoofice.En général, ce cas ne se présente pas tous les matins.Sinon le contrôle de l'inscription doit se faire à l'aide de la classe Customer. Link to comment Share on other sites More sharing options...
overdoze Posted November 6, 2010 Author Share Posted November 6, 2010 ou je peut trouver cette classe Customer? dans quel fichier Link to comment Share on other sites More sharing options...
jeckyl Posted November 6, 2010 Share Posted November 6, 2010 Dans le fichier classes/Customer.php Link to comment Share on other sites More sharing options...
overdoze Posted November 6, 2010 Author Share Posted November 6, 2010 mais ou se font les testes sur les champs du formulaire d'inscription?comment peut tester si un champ texte contient des chaines de caractère?j'ai trouvé cette lign dans classes/customer.php lihne 75 protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd', 'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool'); je crois que c'est là que ce fait le test sur les champ obligatoires if (!Validate::isName($query) AND !Validate::isEmail($query)) die (Tools::displayError()); return Db::getInstance()->ExecuteS(' SELECT c.* FROM `'._DB_PREFIX_.'customer` c WHERE c.`email` LIKE \'%'.pSQL($query).'%\' OR c.`lastname` LIKE \'%'.pSQL($query).'%\' OR c.`firstname` LIKE \'%'.pSQL($query).'%\''); et ici la fonction "isName"quelqu'un peut me donner un coup de main pour ajouter le contrôle sur le champs nom et prénom Link to comment Share on other sites More sharing options...
overdoze Posted November 9, 2010 Author Share Posted November 9, 2010 bonjourje crois que ce genre de problème n’intéresse personne sauf moi.oui je sais que c difficile de contrôler les noms des clients lors de l'enregistrement et qu'ont peut supprimés les noms invalides ou les bloqués dans le BO et encore refuser les commandes passées par ces derniers et surtout ceux qui mettent des tirets 6 au lieu des lettres alphabétiques.Moi je veux qu'il soit automatisé c a d que le client invalide lorsqu'il veut passer une commande il sera bloqué par un message d'erreur et comme ça on aura pas en BO des commandes pour Mr -- (avoir des pseudos a la place c plus acceptable que les -).Donc je laisse l'inscription libre mais je veux faire le contrôle sur les commandes, par exemple lors de passage de la page du panier (order.php?step=0) vers order.php?step=1 (page adresses de livraisons) c a d dans le bouton suivant mais je ne sais pas exactement les pages appelés lors de passation de le commande par ordre.qq1 peut me donner un liste des fichier appelé dans le tunnel commandecordialemnt Link to comment Share on other sites More sharing options...
jeckyl Posted November 9, 2010 Share Posted November 9, 2010 J'ai beau chercher, mais passer des jours pour essayer d'interdire l'inscription à un gars sur terre qui va essayer de créer un compte avec des tirets ou des underscore, franchement je ne comprends.Il faut trouver le fonction qui valide le nom et la modifier pour vérifier qu'il n'y ai pas un plaisantin qui s'amuse à créer des nom avec des tirets et des underscrores.vous feriez mieux de faire des test sur la longueur des noms, mais attention dans certains pays, n'avoir que 2 lettres pour le nom ce n'est pas choquant. Link to comment Share on other sites More sharing options...
overdoze Posted November 9, 2010 Author Share Posted November 9, 2010 oui j'ai trouvé la fonction isNAme dans le fichier /classes/Validate.php static public function isName($name) { return preg_match('/^[^0-9!<>,;?=+()@#"°{}_$%:]*$/ui', stripslashes($name)); } et comme je suis débutant en php je trouve pas la fonction qui me permet de vérifier si la chaîne contient des lettres alphabétique ou nonj'ai essayé avec ctype_alpha mais cette fonction accepte un seul argument pas 2 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now