clair0bscur Posted September 27, 2015 Share Posted September 27, 2015 Bonsoir ! Après plusieurs recherche sur le net sans résultat, je viens expliquer mon problème sur ce forum en esperant trouver de l'aide & des solutions ... J'ai refaite ma boutique en ligne : http://bijoux-clairobscur.com/ en juin dernier, j'ai la version 1.6.0.14 de prestashop. et je rencontre plusieurs bugs depuis sa mise en ligne, la plus embetante étant le message d'erreur que rencontre certains clients lors de l'inscription. Pour avoir posé la question à plusieurs clientes, la majorité était sur mobile, j'ai donc testé sur mon téléphone et en effet, je crois que le problème vient du clavier du mobile, qui vous propose votre adresse mail dès que vous commencer à le taper... la saisi automatique en fait... mais avec un petit espace en plus à la fin de celui ci. Que prestashop n'apprécie pas... Une fois supprimé l'espace à la fin du mal, pas de soucis ca fonctionne... mais il faut le savoir :/ Comment résoudre ce problème qui mine de rien fait perdre pas mal de clients potentiels ? Autre soucis, je me permet d'en parler sur ce même sujet, sur la page "Panier" : http://bijoux-clairobscur.com/commande Le champs "bon de réduction" ne s'affiche pas chez certaines personnes, un soucis de navigateur je crois ... si vous avez des solutions également, je suis preneuse ^^ Merci d'avance pour vos réponses Stéphanie Link to comment Share on other sites More sharing options...
Eolia Posted September 28, 2015 Share Posted September 28, 2015 Bonjour, Pour la validation du mail et son (ou ses espaces) en trop, vérifiez si dans votre fichier /controllers/front/AuthController.php vous avez bien ces lignes (avec le trim(Tools::getValue('email')) et $customer->getByEmail(trim($email), trim($passwd)); dans le bloc protected function processSubmitLogin() lignes 267 et suivantes /** * Process login */ protected function processSubmitLogin() { Hook::exec('actionBeforeAuthentication'); $passwd = trim(Tools::getValue('passwd')); $_POST['passwd'] = null; $email = trim(Tools::getValue('email')); if (empty($email)) { $this->errors[] = Tools::displayError('An email address required.'); } elseif (!Validate::isEmail($email)) { $this->errors[] = Tools::displayError('Invalid email address.'); } elseif (empty($passwd)) { $this->errors[] = Tools::displayError('Password is required.'); } elseif (!Validate::isPasswd($passwd)) { $this->errors[] = Tools::displayError('Invalid password.'); } else { $customer = new Customer(); $authentication = $customer->getByEmail(trim($email), trim($passwd)); if (isset($authentication->active) && !$authentication->active) { ... Ensuite, remplacez le bloc, lignes 699 et suivantes: protected function processSubmitCreate() { if (!Validate::isEmail($email = Tools::getValue('email_create')) || empty($email)) { $this->errors[] = Tools::displayError('Invalid email address.'); } elseif (Customer::customerExists($email)) { $this->errors[] = Tools::displayError('An account using this email address has already been registered. Please enter a valid password or request a new one. ', false); $_POST['email'] = Tools::getValue('email_create'); unset($_POST['email_create']); } else { $this->create_account = true; $this->context->smarty->assign('email_create', Tools::safeOutput($email)); $_POST['email'] = $email; } } Par: protected function processSubmitCreate() { if (!Validate::isEmail($email = trim(Tools::getValue('email_create'))) || empty($email)) { $this->errors[] = Tools::displayError('Invalid email address.'); } elseif (Customer::customerExists(trim($email))) { $this->errors[] = Tools::displayError('An account using this email address has already been registered. Please enter a valid password or request a new one. ', false); $_POST['email'] = trim(Tools::getValue('email_create')); unset($_POST['email_create']); } else { $this->create_account = true; $this->context->smarty->assign('email_create', Tools::safeOutput($email)); $_POST['email'] = $email; } } La fonction trim() supprimant les espaces de début et de fin, vous ne devriez plus avoir ce souci. Link to comment Share on other sites More sharing options...
clair0bscur Posted September 29, 2015 Author Share Posted September 29, 2015 Merci beaucoup pour ta réponse rapide ! Je vais tester ça bonne journée ^^ Link to comment Share on other sites More sharing options...
Creativus Comunico Posted July 27, 2016 Share Posted July 27, 2016 Bonjour à tous, J'ai eu ce problème et il n'était pas causé par Prestashop. J'avais ajouté un formulaire de connexion / inscription dans ma NAV. De fait, sur la page ($page_name = "authentication") j'avais deux champs #email_create et le clic levait le premier champ vide de ma NAV et AuthController renvoyait donc false dans la procédure processSubmitCreate. Pour résoudre le problème j'ai simplement supprimé sur la page AUTHENTICATION mon formulaire d'inscription avec un {if} sur le page_name. A toutes fins utiles pour qqun qui aurait suivi le même chemin que moi. Alexandre 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