Txus_ito Posted July 26, 2015 Share Posted July 26, 2015 Hace unos días pedía ayuda desesperadamente, y la sigo pidiendo ya que ninguna de las formulas que me han ofrecido ha funcionado, y no consigo entrar al administrador de la web, no reconoce a ningún usuario, dice que no existen en la tienda, he buscado en foros tanto en español como en otros idiomas y las posibles soluciones en mi caso no funcionan, alguna ayudita por favor que me ayude a salir de este largo túnel? Uso prestashop 1.6 Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 ok es raro que te ocurra eso debe ser que has cambiado sin darte cuenta Tienes acceso a la base de datos ? Link to comment Share on other sites More sharing options...
Txus_ito Posted July 26, 2015 Author Share Posted July 26, 2015 He seguido las instrucciones de los siguientes post Cambiar contraseña de admin en PrestashopPara cambiar la contraseña de admin, debes acceder por FTP al subdominio, entrar a la carpeta 'public_html/config', y dentro de esta editar el archivo 'settings.inc.php'.Dentro verás algo parecido a esto:define('_COOKIE_KEY_', 'Qf2xjHNknjce8cnjdiome090a9HHkjkdjc5Za84XO');Copia el último código (copiar sin las comillas), y accede después ahttp://www.md5.fr/ Pega el código que has copiado en el cuadro que aparece, y seguido a este sin dejar espacios, escribe la nueva contraseña.(ejemplo: Qf2xjHNknjce8cnjdiome090a9HHkjkdjc5Za84XOnuevacontraseña)Pulsa el botón 'Convertir en MD5'.Copia el código que genera.Entra a tu CPANEL, phpmyadmin, y selecciona la base de datos de Prestashop.Busca la tabla 'employee' y edita el usuario que quieras.En el apartado 'password' elimina lo que aparece y pega el código generado por http://www.md5.fr/ Pulsa en continuar y prueba a acceder al admin de Prestashop de nuevo.Y el resultado sigue siendo negativoHe probado tambien a hacer lo indicado en este enlacehttps://www.prestashop.com/…/39918-cambio-de-passwo…/page-4…Y exactamente lo mismo, no existe el empleado, también he probado con otros usuarios que tengo y el resultado es igual, ninguno existe, pero si están en la base de datos Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 Ok esos son los pasos para cambiar las claves pero aqui viene mi pregunta Que hiciste antes de que dejara de funcionar ? alguna vez te funciono ? estas seguro que estas usando la base de datos correcta ? Link to comment Share on other sites More sharing options...
Txus_ito Posted July 26, 2015 Author Share Posted July 26, 2015 Nos enteramos del problema por un cliente que nos dijo que habían desaparecido los precios de los productos y al querer entrar al Backoffice dio el error de usuario desconocido. La tienda funcionaba perfectamente hasta ese momento, y si, es la bbdd correcta Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 ok ahora vamos por partes exactamente cual es el error que te da Que el empleado no existe o que no pertenece a la tienda Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 Tu Prestashop es multitienda ? Link to comment Share on other sites More sharing options...
Txus_ito Posted July 26, 2015 Author Share Posted July 26, 2015 No, no es multitienda, y el error dice que el empleado no existe, pero ni este ni ninguno de los otros empleados registrados Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 Que raro vamos a probar algo vamos a chequear que sea problema de password y no de usuario Busca dentro de la carpera classes Employee.php Luego busca esta función getByEmail y vas a cambiar $result = Db::getInstance()->getRow(' SELECT * FROM `'._DB_PREFIX_.'employee` WHERE `active` = 1 AND `email` = \''.pSQL($email).'\' '.($passwd !== null ? 'AND `passwd` = \''.Tools::encrypt($passwd).'\'' : '')); por $result = Db::getInstance()->getRow(' SELECT * FROM `'._DB_PREFIX_.'employee` WHERE `active` = 1 AND `email` = \''.pSQL($email).'\'); para estar seguros que es un problema con el password o es que en realidad no encuentra al usuario Ahora que veo el query chequeaste que los empleados esten activos Link to comment Share on other sites More sharing options...
Txus_ito Posted July 26, 2015 Author Share Posted July 26, 2015 Después de hacer dicho cambio me dice lo siguiente: [PrestaShopDatabaseException]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '); AND `passwd` = '49dcce5bd5b72db3cc171f0b615ea397' LIMIT 1' at line 4 SELECT * FROM `prstshp_employee` WHERE `active` = 1 AND `email` = '[email protected]'); AND `passwd` = '49dcce5bd5b72db3cc171f0b615ea397' LIMIT 1at line 639 in file classes/db/Db.php 634. WebserviceRequest::getInstance()->setError(500, ' '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);635. }636. elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))637. {638. if ($sql)639. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');640. throw new PrestaShopDatabaseException($this->getMsgError());641. }642. }643.644. /** DbCore->displayError - [line 333 - classes/db/Db.php] - [1 Arguments] DbCore->query - [line 551 - classes/db/Db.php] - [1 Arguments] DbCore->getRow - [line 261 - classes/Employee.php] - [1 Arguments] EmployeeCore->getByEmail - [line 173 - controllers/admin/AdminLoginController.php] - [2 Arguments] AdminLoginControllerCore->processLogin - [line 149 - controllers/admin/AdminLoginController.php] AdminLoginControllerCore->postProcess - [line 171 - classes/controller/Controller.php] ControllerCore->run - [line 374 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 58 - admin/index.php] Link to comment Share on other sites More sharing options...
Txus_ito Posted July 26, 2015 Author Share Posted July 26, 2015 Perdón, no había borrado la ultima linea, el msj que me da ahora es este: Parse error: syntax error, unexpected T_STRING in /var/www/vhosts/ferminmusic.com/tienda/classes/Employee.php on line 262 Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 dame un minuto puede que lo escribi mal Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 a ver el codigo para entrar sin password seria asi $result = Db::getInstance()->getRow(' SELECT * FROM `'._DB_PREFIX_.'employee` WHERE `active` = 1 AND `email` = \''.pSQL($email).'\''); Link to comment Share on other sites More sharing options...
jgamio Posted July 26, 2015 Share Posted July 26, 2015 Disculpa que no lo había probado si logras entrar es que el problema es con el password si te da el mismo error entoces cambia el active el 1 por 0 a ver si es que los empleados estan desactivados si ninguna de las 2 funcionan ya el problema es otro Link to comment Share on other sites More sharing options...
Txus_ito Posted July 26, 2015 Author Share Posted July 26, 2015 Según parece el problema viene de otro lado, que puede estar pasando? Link to comment Share on other sites More sharing options...
jgamio Posted July 27, 2015 Share Posted July 27, 2015 Es que ya me parece raro ya que si dices que el usuario esta en la tabla, la base de datos esta bien configurada y lo unico que estamos buscando es el correo electrónico lo debería encontrar tienes acceso a phpmyadmin ejecuta el query SELECT * FROM ps_employee WHERE `email` = 'email@delusuario'; y dime si te encuentra el usuario Link to comment Share on other sites More sharing options...
Txus_ito Posted July 27, 2015 Author Share Posted July 27, 2015 Si, si que encuentra el usuario pero he tenido que modificar el texto de la consulta ya que la tabla no es ps sino prstshp Parece como si no hubiera conexión entre la bbdd y el administrador, como se puede comprobar este extremo? m Link to comment Share on other sites More sharing options...
jgamio Posted July 27, 2015 Share Posted July 27, 2015 a ver te pregunto en settings.inc.php tienes define('_DB_PREFIX_', 'prstshp_'); Link to comment Share on other sites More sharing options...
Txus_ito Posted July 27, 2015 Author Share Posted July 27, 2015 Si, esta dicha linea te muestro el contenido del archivo <?php define('_DB_SERVER_', 'localhost'); define('_DB_NAME_', '............'); define('_DB_USER_', '.................'); define('_DB_PASSWD_', '.........................'); define('_DB_PREFIX_', 'prstshp_'); define('_MYSQL_ENGINE_', 'InnoDB'); define('_PS_CACHING_SYSTEM_', 'CacheMemcache'); define('_PS_CACHE_ENABLED_', '1'); define('_MEDIA_SERVER_1_', ''); define('_MEDIA_SERVER_2_', ''); define('_MEDIA_SERVER_3_', ''); define('_COOKIE_KEY_', '.............................................................'); define('_COOKIE_IV_', ....................); define('_PS_CREATION_DATE_', '2014-02-07'); define('_PS_VERSION_', '1.6.0.9'); define('_RIJNDAEL_KEY_', '[spam-filter]RIJNDAEL_KEY[spam-filter]'); define('_RIJNDAEL_IV_', '[spam-filter]RIJNDAEL_IV[spam-filter]'); define('_PS_DIRECTORY_', '/../../'); los datos en puntos suspensivos los he eliminado por seguridad, pero si necesitas alguno en particular puedo pasártelo al mail que me indiques Link to comment Share on other sites More sharing options...
jgamio Posted July 27, 2015 Share Posted July 27, 2015 Es raro el problema que tienes en realidad se ve todo bien, no entiendo porque no accedes a la base de datos sobre todo si dices que la tienda se ve vamos hacer otra prueba si te parece busca en la carpeta controllers el archivo AdminLoginController.php ubica la función initContent y vas a poner de primero esto $sSQL = "Select * from " . _DB_PREFIX_ . "employee " ; $rsRows = Db::getInstance()->ExecuteS($sSQL ); var_dump($rsRows); lo que te debe mostrar es todos los usuarios en la base de datos es solo para saber si esta leyendo la tabla Link to comment Share on other sites More sharing options...
Txus_ito Posted July 27, 2015 Author Share Posted July 27, 2015 (edited) He seguido tus instrucciones y al poner la formula indicada el error que me da al iniciar es: Parse error: syntax error, unexpected T_VARIABLE, expecting ';' or '{' in /var/www/vhosts/ferminmusic.com/tienda/controllers/admin/AdminLoginController.php on line 57 Edited July 28, 2015 by Txus_ito (see edit history) Link to comment Share on other sites More sharing options...
jgamio Posted July 28, 2015 Share Posted July 28, 2015 tienes que colocarlo luego del { Link to comment Share on other sites More sharing options...
Txus_ito Posted July 28, 2015 Author Share Posted July 28, 2015 (edited) Pues ya lo he quitado. Alguna idea nueva? Porque sera que las cosas mas raras y extrañas me pasan siempre a mi Edited July 28, 2015 by Txus_ito (see edit history) Link to comment Share on other sites More sharing options...
jgamio Posted July 28, 2015 Share Posted July 28, 2015 Ok esa es la tabla de empleados asi que si te lee los datos de la base de datos era solo para que chequearas no para que la pegaras aqui si puedes editar el post quitala Sigo sin entender porque no te consigue el usuario, en los cambios anteriores solo chequeamos que buscara el correo y no te lo conseguia ahora veo que si lee la base de datos Por casualidad no tendras algun override Link to comment Share on other sites More sharing options...
Txus_ito Posted July 28, 2015 Author Share Posted July 28, 2015 No se a que te refieres con override, me lo puedes explicar, por favor Link to comment Share on other sites More sharing options...
Txus_ito Posted July 28, 2015 Author Share Posted July 28, 2015 Hay una carpeta con ese nombre que tiene a su vez otras 3 sub carpetas en su interior Link to comment Share on other sites More sharing options...
jgamio Posted July 28, 2015 Share Posted July 28, 2015 Antes de ver el override con que usuario estas tratando de acceder Link to comment Share on other sites More sharing options...
Txus_ito Posted July 28, 2015 Author Share Posted July 28, 2015 Usuario Txus Link to comment Share on other sites More sharing options...
jgamio Posted July 28, 2015 Share Posted July 28, 2015 No tienes el usuario activado busca en la base de datos el usuario y revisa el campo active si tiene 0 cambialo por 1 avisame si era asi Link to comment Share on other sites More sharing options...
Txus_ito Posted July 28, 2015 Author Share Posted July 28, 2015 Estaba el campo a 0 efectivamente, lo he cambiado y ahora muestra lo siguiente UPDATE `prestashop_5`.`prstshp_employee` SET `active` = '1' WHERE `prstshp_employee`.`id_employee` = 2; Pero es algo que no entiendo, como se ha desactivado Link to comment Share on other sites More sharing options...
jgamio Posted July 28, 2015 Share Posted July 28, 2015 ok vamos por partes Si has actualizado y te reconoce el usuario debes eliminar todos los cambios que hemos hecho Ahora si se te desactivo eso no ocurre al azar debes haber hecho algo o alguien te lo desactivo Link to comment Share on other sites More sharing options...
Txus_ito Posted July 28, 2015 Author Share Posted July 28, 2015 Sigue sin reconocer al usuario Link to comment Share on other sites More sharing options...
Txus_ito Posted July 30, 2015 Author Share Posted July 30, 2015 He estado viendo el log de conexiones al servidor y a finales de junio y primeros de julio hubo gran cantidad de intentos de conexión fallidos al backoffice desde Alemania, Inglaterra y los Estados Unido y parece ser que alguno de eso tuvo suerte y se metió dentro desactivando los usuarios de la bbdd, y no se que mas harían y con que fin ya que sigo sin poder acceder al mismo y nadie ha conseguido darme una idea para recuperarlo, por lo que estoy desesperado y ya no se donde acudir ni que hacer Link to comment Share on other sites More sharing options...
jgamio Posted July 31, 2015 Share Posted July 31, 2015 En realidad es que tu problema es muy especifico y ahora que confirmas que accedieron a tu web tal vez tambien te hayan cambiado los archivos o los datos de la base de datos Te recomendaría que contrates los servicios de un freelance que te ayude a resolver el problema Link to comment Share on other sites More sharing options...
Recommended Posts