tasch3027 Posted September 7, 2013 Share Posted September 7, 2013 (edited) Bonjour à tous, Sur un prestashop 1.5.4.1 j'ai une erreur lorsque j'essaye de créer un compte client que ce soit en front office ou en back office. C'est un nouveau site qui n'a jamais reçu une seule commande et c'est juste avant de le présenter à un mon client que je me suis aperçu de ce problème. Voici le site en question. http://lapalmeraiedesdelices.frEn front office j'ai le message: Il y a 1 erreur"Une erreur est survenue lors de la création de votre compte." En back office office j'ai le message: Il y a 1 erreur"Une erreur est survenue lors de la création de votre compte." customer() Pour l'identification en front office il semblerait qu'il y ait un problème aussi. Ne pouvant créer un nouvel utilisateur, j'ai personnalisé le mot de passe du client par défaut John Doe en saisissant directement dans la base de donnée un mot de passe (brice1819) encrypté en MD5 via MySQL (je ne sais pas si sur prestashop cette methode de création de mot de passe via la base de données peut fonctionner mais je l'ai essayée car sur d'autres CMS elle fonctionne). Puis en essayant de m'identifier en front office j'obtiens l'erreur. Il y a 1 erreur Échec d'authentification Êtes-vous en mesure de régler ce problème assez rapidement ? Évidement je vous rémunère. En parcourant le web j'ai trouvé quelques suggestions mais rien n'y fait - J'ai déjà lancé une optimisation de la base de donnée MySql - J'ai vidé mes cookies - J'ai vidé les enregistrements de la table ps_connection - J'ai réinstallé les classes et les controller depuis une archive prestashop 1.5.4.1 neuve Un autre problème qui ne me facilite pas la tâche c'est que je n'arrive pas à afficher les erreurs, j'ai pourtant édité le fichier config.inc.php en ajoutant ces deux paramètres initialement absents du fichier @ini_set('display_errors', 'on');define('_PS_DEBUG_SQL_',true); Mais rien n'y fait, aucune erreur apparait, y a t-il une nouvelle façon d'afficher les erreurs sur cette version de prestashop ? Merci à vous Edited September 8, 2013 by tasch3027 (see edit history) Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 (edited) Bonjour, Un autre problème qui ne me facilite pas la tâche c'est que je n'arrive pas à afficher les erreurs, j'ai pourtant édité le fichier config.inc.php Il faut les enlever du fichier config.inc.php. Ces paramètres sont déjà dans le fichier defines.inc.php /* Debug only */ define('_PS_MODE_DEV_', true); if (_PS_MODE_DEV_) { @ini_set('display_errors', 'on'); @error_reporting(E_ALL | E_STRICT); define('_PS_DEBUG_SQL_', true); /* Compatibility warning */ define('_PS_DISPLAY_COMPATIBILITY_WARNING_', true); } Edited September 7, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 (edited) John Doe en saisissant directement dans la base de donnée un mot de passe (brice1819) encrypté en MD5 via MySQL (je ne sais pas si sur prestashop cette methode de création de mot de passe via la base de données peut fonctionner mais je l'ai essayée car sur d'autres CMS elle fonctionne). Il faut utiliser la fonction encrypt. Edited September 7, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
tasch3027 Posted September 7, 2013 Author Share Posted September 7, 2013 Merci indesign, c'est déjà une bonne chose, voici les erreurs, Unknown column 'id_lang' in 'field list' INSERT INTO `ps_customer` (`secure_key`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `id_gender`, `birthday`, `newsletter`, `newsletter_date_add`, `ip_registration_newsletter`, `optin`, `website`, `company`, `siret`, `ape`, `outstanding_allow_amount`, `show_public_prices`, `id_risk`, `max_payment_days`, `active`, `deleted`, `note`, `is_guest`, `id_shop`, `id_shop_group`, `id_default_group`, `id_lang`, `date_add`, `date_upd`) VALUES ('0e8a6fda76ebe4e520774c93a5666862', 'Grelet', 'Brice', '[email protected]', '3e0c79681c0738f8b87aa8872ca2aecc', '2013-09-07 09:12:19', '1', '1999-3-14', '0', '0000-00-00', NULL, '0', NULL, NULL, NULL, NULL, '0', '0', '0', '0', '1', '0', NULL, '0', '1', '1', '3', '5', '2013-09-07 15:12:19', '2013-09-07 15:12:19') at line 607 in file classes/db/Db.php 601. WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97); 602. } 603. else if (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) 604. { 605. if ($sql) 606. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>'); 607. throw new PrestaShopDatabaseException($this->getMsgError()); 608. } 609. } 610. 611. /** DbCore->displayError - [line 307 - classes/db/Db.php] - [1 Arguments] Argument [0] INSERT INTO `ps_customer` (`secure_key`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `id_gender`, `birthday`, `newsletter`, `newsletter_date_add`, `ip_registration_newsletter`, `optin`, `website`, `company`, `siret`, `ape`, `outstanding_allow_amount`, `show_public_prices`, `id_risk`, `max_payment_days`, `active`, `deleted`, `note`, `is_guest`, `id_shop`, `id_shop_group`, `id_default_group`, `id_lang`, `date_add`, `date_upd`) VALUES ('0e8a6fda76ebe4e520774c93a5666862', 'Grelet', 'Brice', '[email protected]', '3e0c79681c0738f8b87aa8872ca2aecc', '2013-09-07 09:12:19', '1', '1999-3-14', '0', '0000-00-00', NULL, '0', NULL, NULL, NULL, NULL, '0', '0', '0', '0', '1', '0', NULL, '0', '1', '1', '3', '5', '2013-09-07 15:12:19', '2013-09-07 15:12:19') DbCore->query - [line 581 - classes/db/Db.php] - [1 Arguments] Argument [0] INSERT INTO `ps_customer` (`secure_key`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `id_gender`, `birthday`, `newsletter`, `newsletter_date_add`, `ip_registration_newsletter`, `optin`, `website`, `company`, `siret`, `ape`, `outstanding_allow_amount`, `show_public_prices`, `id_risk`, `max_payment_days`, `active`, `deleted`, `note`, `is_guest`, `id_shop`, `id_shop_group`, `id_default_group`, `id_lang`, `date_add`, `date_upd`) VALUES ('0e8a6fda76ebe4e520774c93a5666862', 'Grelet', 'Brice', '[email protected]', '3e0c79681c0738f8b87aa8872ca2aecc', '2013-09-07 09:12:19', '1', '1999-3-14', '0', '0000-00-00', NULL, '0', NULL, NULL, NULL, NULL, '0', '0', '0', '0', '1', '0', NULL, '0', '1', '1', '3', '5', '2013-09-07 15:12:19', '2013-09-07 15:12:19') DbCore->q - [line 372 - classes/db/Db.php] - [2 Arguments] Argument [0] INSERT INTO `ps_customer` (`secure_key`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `id_gender`, `birthday`, `newsletter`, `newsletter_date_add`, `ip_registration_newsletter`, `optin`, `website`, `company`, `siret`, `ape`, `outstanding_allow_amount`, `show_public_prices`, `id_risk`, `max_payment_days`, `active`, `deleted`, `note`, `is_guest`, `id_shop`, `id_shop_group`, `id_default_group`, `id_lang`, `date_add`, `date_upd`) VALUES ('0e8a6fda76ebe4e520774c93a5666862', 'Grelet', 'Brice', '[email protected]', '3e0c79681c0738f8b87aa8872ca2aecc', '2013-09-07 09:12:19', '1', '1999-3-14', '0', '0000-00-00', NULL, '0', NULL, NULL, NULL, NULL, '0', '0', '0', '0', '1', '0', NULL, '0', '1', '1', '3', '5', '2013-09-07 15:12:19', '2013-09-07 15:12:19') Argument [1] 1 DbCore->insert - [line 465 - classes/ObjectModel.php] - [3 Arguments] Argument [0] customer Argument [1] Array ( [secure_key] => 0e8a6fda76ebe4e520774c93a5666862 [lastname] => Grelet [firstname] => Brice [email] => [email protected] [passwd] => 3e0c79681c0738f8b87aa8872ca2aecc [last_passwd_gen] => 2013-09-07 09:12:19 [id_gender] => 1 [birthday] => 1999-3-14 [newsletter] => 0 [newsletter_date_add] => 0000-00-00 [ip_registration_newsletter] => [optin] => 0 [website] => [company] => [siret] => [ape] => [outstanding_allow_amount] => 0 [show_public_prices] => 0 [id_risk] => 0 [max_payment_days] => 0 [active] => 1 [deleted] => 0 [note] => [is_guest] => 0 [id_shop] => 1 [id_shop_group] => 1 [id_default_group] => 3 [id_lang] => 5 [date_add] => 2013-09-07 15:12:19 [date_upd] => 2013-09-07 15:12:19 ) Argument [2] 1 ObjectModelCore->add - [line 225 - classes/Customer.php] - [2 Arguments] Argument [0] 1 Argument [1] 1 CustomerCore->add - [line 547 - controllers/front/AuthController.php] - [0 Argument] 541. // New Guest customer 542. if (Tools::isSubmit('is_new_customer')) 543. $customer->is_guest = !Tools::getValue('is_new_customer', 1); 544. else 545. $customer->is_guest = 0; 546. if (!$customer->add()) 547. $this->errors[] = Tools::displayError('An error occurred while creating your account..'); 548. else 549. { 550. $address->id_customer = (int)$customer->id; 551. $this->errors = array_unique(array_merge($this->errors, $address->validateController())); AuthControllerCore->processSubmitAccount - [line 263 - controllers/front/AuthController.php] - [0 Argument] 257. { 258. if (Tools::isSubmit('SubmitCreate')) 259. $this->processSubmitCreate(); 260. 261. if (Tools::isSubmit('submitAccount') || Tools::isSubmit('submitGuestAccount')) 262. $this->processSubmitAccount(); 263. 264. if (Tools::isSubmit('SubmitLogin')) 265. $this->processSubmitLogin(); 266. } 267. AuthControllerCore->postProcess - [line 158 - classes/controller/Controller.php] - [0 Argument] 152. // setMedia MUST be called before postProcess 153. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) 154. $this->setMedia(); 155. 156. // postProcess handles ajaxProcess 157. $this->postProcess(); 158. 159. if (!empty($this->redirect_after)) 160. $this->redirect(); 161. 162. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) ControllerCore->run - [line 349 - classes/Dispatcher.php] - [0 Argument] 343. // Execute hook dispatcher 344. if (isset($params_hook_action_dispatcher)) 345. Hook::exec('actionDispatcher', $params_hook_action_dispatcher); 346. 347. // Running controller 348. $controller->run(); 349. } 350. catch (PrestaShopException $e) 351. { 352. $e->displayMessage(); 353. } DispatcherCore->dispatch - [line 28 - index.php] - [0 Argument] 22. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) 23. * International Registered Trademark & Property of PrestaShop SA 24. */ 25. 26. require(dirname(__FILE__).'/config/config.inc.php'); 27. Dispatcher::getInstance()->dispatch(); 28. Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 Unknown column 'id_lang' in 'field list' La colonne id_lang n'est pas présente dans la table ps_customer 1 Link to comment Share on other sites More sharing options...
tasch3027 Posted September 7, 2013 Author Share Posted September 7, 2013 Il faut utiliser la fonction encrypt. Merci ! je viens de le faire et le message d'erreur à l'identification est toujours bien présent. Link to comment Share on other sites More sharing options...
tasch3027 Posted September 7, 2013 Author Share Posted September 7, 2013 La colonne id_lang n'est pas présente dans la table ps_customer Ok mais ce que je ne comprends pas c'est que si je compare avec d'autre install de prestashops, je ne vois pas non plus cette table, est-elle censée etre une colonne par défaut ? Que dois-je faire ? Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 (edited) Normalement oui INSERT INTO `ps_customer` (`secure_key`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `id_gender`, `birthday`, `newsletter`, `newsletter_date_add`, `ip_registration_newsletter`, `optin`, `website`, `company`, `siret`, `ape`, `outstanding_allow_amount`, `show_public_prices`, `id_risk`, `max_payment_days`, `active`, `deleted`, `note`, `is_guest`, `id_shop`, `id_shop_group`, `id_default_group`, `id_lang`, `date_add`, `date_upd`) VALUES ('0e8a6fda76ebe4e520774c93a5666862', 'Grelet', 'Brice', '[email protected]', '3e0c79681c0738f8b87aa8872ca2aecc', '2013-09-07 09:12:19', '1', '1999-3-14', '0', '0000-00-00', NULL, '0', NULL, NULL, NULL, NULL, '0', '0', '0', '0', '1', '0', NULL, '0', '1', '1', '3', '5', '2013-09-07 15:12:19', '2013-09-07 15:12:19') il cherche la id_lang = 5 id_lang 5 est elle présente dans la table ps_lang ? Normalement, le Français est en id 1 Edited September 7, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 John Doe en saisissant directement dans la base de donnée un mot de passe (brice1819) encrypté en MD5 via MySQL (je ne sais pas si sur prestashop cette methode de création de mot de passe via la base de données peut fonctionner mais je l'ai essayée car sur d'autres CMS elle fonctionne). Oups ! en effet, c'est la bonne méthode. Encrypté en MD5 en utilisant la clé contenue dans le fichier settings.inc.php, dans le dossier config. define('_COOKIE_KEY_', ' '); 1 Link to comment Share on other sites More sharing options...
tasch3027 Posted September 7, 2013 Author Share Posted September 7, 2013 Normalement oui Capture d’écran 2013-09-07 à 15.37.31.png INSERT INTO `ps_customer` (`secure_key`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `id_gender`, `birthday`, `newsletter`, `newsletter_date_add`, `ip_registration_newsletter`, `optin`, `website`, `company`, `siret`, `ape`, `outstanding_allow_amount`, `show_public_prices`, `id_risk`, `max_payment_days`, `active`, `deleted`, `note`, `is_guest`, `id_shop`, `id_shop_group`, `id_default_group`, `id_lang`, `date_add`, `date_upd`) VALUES ('0e8a6fda76ebe4e520774c93a5666862', 'Grelet', 'Brice', '[email protected]', '3e0c79681c0738f8b87aa8872ca2aecc', '2013-09-07 09:12:19', '1', '1999-3-14', '0', '0000-00-00', NULL, '0', NULL, NULL, NULL, NULL, '0', '0', '0', '0', '1', '0', NULL, '0', '1', '1', '3', '5', '2013-09-07 15:12:19', '2013-09-07 15:12:19') il cherche la id_lang = 5 id_lang 5 est elle présente dans la table ps_lang ? Normalement, le Français est en id 1 La id_lang 5 est bien présente et j'ai ajouté manuellement le champ id_lang dans la table ps_custommer en me basant sur ce post http://www.prestashop.com/forums/topic/247485-solved-authentication-unknown-column-id-lang-in-field-list/ Donc cette erreur a été remplacée par une nouvelle erreur du même type, Unknown column 'mobile_theme' in 'field list' Que j'ai résolu de la même façon que la précédente en me basant sur les réglages du champs 'windows_media' Et tout vient de rentrer dans l'ordre, merci pour ton aide ! Brice 1 Link to comment Share on other sites More sharing options...
tasch3027 Posted September 7, 2013 Author Share Posted September 7, 2013 Oups ! en effet, c'est la bonne méthode. Encrypté en MD5 en utilisant la clé contenue dans le fichier settings.inc.php, dans le dossier config. define('_COOKIE_KEY_', ' '); Ok ça roule merci ! par contre comment fait-on dans mysql pour suggérer cette clé ? Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 par contre comment fait-on dans mysql pour suggérer cette clé ? @ manouille Dans le fichier settings.inc.php que tu trouveras sur ton serveur (là ou sont tes fichers) dans le dossier config, il y a une ligne cookie key avec plein de caractère. Tu copies ces caracteres dans un encypteur md5 (par exemple ici : http://www.cryptage-md5.com/) puis tu y ajoutes le mot de passe a la suite que tu veux. Apres tu cryptes cette chaine de caractere en cliquant sur le bouton du site. Cela va générer une autre chaine de caractères (qui sont donc maintenant cryptés) qui est le nouveau mot de passe. Tu vas dans ta base de donné (phpmyadmin) dans la table ps_employee et tu remplace le mot de passe par celui que tu viens de générer et le tour est joué. **** Pour des raisons de sécurité tu auras compris qu'il y a 2 données indépendantes mises ensemble (la cookiekey et le mot de passe) qui sont encryptés pour servir in-fine de mot de passe que seul la machine comprend. Je sais pas si je suis plus clair @ manouille 1 Link to comment Share on other sites More sharing options...
indesign47 Posted September 7, 2013 Share Posted September 7, 2013 (edited) Êtes-vous en mesure de régler ce problème assez rapidement ? Évidement je vous rémunère. On n'en demande pas tant... mais un "like this" pour le temps passé, les idées, les solutions... Un click, c'est rapide, c'est gratuit, et en plus ça fait plaisir. Si le problème est réglé, mettre le post en [Résolu] Ça ferra plaisir aux modérateurs, et aux bénévoles qui lisent le()s post(s). Procédure à suivre : Edit le premier post > Use Full Editor et rajouter devant le titre [Résolu] Edited September 7, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
indesign47 Posted September 8, 2013 Share Posted September 8, 2013 Merci pour les nombreux "like this" et le Résolu. Un bon dimanche de repos... ou de dev. 1 Link to comment Share on other sites More sharing options...
tasch3027 Posted September 8, 2013 Author Share Posted September 8, 2013 Merci pour les nombreux "like this" et le Résolu. Un bon dimanche de repos... ou de dev. C'est tout naturel, bon dimanche à toi. 1 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