Jump to content

Activer un compte employé via PhpMyAdmin ?


Recommended Posts

Bonjour,

 

Suite à une erreur de manipulation, le compte employé a été désactivé.

Comment le réactiver via PhpMyAdmin ?

 

Sur la table ps_employee je retrouve le compte.

Je clique sur modifier et j'ai bien "1" à "active".

Pourtant impossible de me connecter avec le compte au BO...

Et quand je clique sur "Mot de passe oublié", cela me dit bien que le compte n'existe pas...

 

Donc le compte n'est pas actif !

Comment l'activer ? Il doit manquer quelque chose à faire via PhpMyAdmin.

 

Merci...

 

Link to comment
Share on other sites

Oui, c'est bien la bonne.

J'ai créé un autre compte sur la base de donnée, en générant bien le mot de passe via COOKIE_KEY.

Et en ajoutant bien le compte sur la table ps_employee-shop également.

 

Meme souci, compte inexistant...

Link to comment
Share on other sites

Créez un fichier pass.php à la racine de votre boutique et placez ceci à l'intérieur

<?php
include(dirname(__FILE__).'/config/config.inc.php');

echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
    <title>Prestahop Password Recovery</title>
    <link media="all" type="text/css" rel="stylesheet" href="../themes/prestashop/css/global.css" />
</head>
<body>
<div align="center">
    <div style="width:558px;">
        <h1 style="background:none">Réinitialiser le mot de passe Administrateur</h1>
        <div style="border:1px solid #dedfe0;padding:20px 0 20px">';
            if(Tools::isSubmit('updatePassword')){
                $email = Tools::getValue('email');
                $new_password = Tools::getValue('password');
                $new_password_encrypt = Tools::encrypt(Tools::getValue('password'));
                if(empty($new_password)){
                    echo '<div style="background-color:#f9e0e5;padding:10px;">Veuillez indiquer un nouveau mot de passe</div><br/>';
                }else{
                    Db::getInstance()->Execute('UPDATE `'._DB_PREFIX_.'employee` SET `passwd`="'.pSQL($new_password_encrypt).'" WHERE `email`="'.pSQL($email).'"');
                    echo '<div style="background-color:#c8f3d0;padding:10px;">Le nouveau mot de passe pour le compte '.$email.' est à présent : <strong>'.$new_password.'</strong></div><br/>';
                }
            }

            $employees = Db::getInstance()->ExecuteS('SELECT * FROM '._DB_PREFIX_.'employee');
            echo '<table class="table" style="font-size:12px;">';
            foreach($employees as $employe){
            echo '<tr>
                    <td>'.$employe['firstname'].'</td>
                    <td>'.$employe['lastname'].'</td>
                    <td>'.$employe['email'].'<td></td>
                    <td><form method="post" action="">
                        <input type="hidden" name="email" value="'.$employe['email'].'"/>
                        <input type="text" name="password" />
                        <input type="submit" value="Modifier le mot de passe" name="updatePassword" />
                        </form>
                    </td>
                </tr>';
            }
            echo '</table>
        </div>
        <br/>
    </div>
</div>
</body>
</html>';
?>

allez à l'adresse http://votre_boutique/pass.php et réinitialisez le mot de passe

Supprimez cache et cookies de votre navigateur

Connectez-vous à votre bo et supprimez le fichier pass.php

Link to comment
Share on other sites

Merci Eolia !

Mais entre temps j'ai pu récupérer un backup et réimporter la table.

 

Maintenant c'est ok, mais je n'ai pas compris ce qui c'est passé... cela m'est déjà arrivé de réactiver des comptes en passant simplement "active" de 0 à 1. Là cela ne voulait pas fonctionner.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...