THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,
A priori, je n'ai pas trouvé de réponse à ce "help" dans le forum.

J'ai par mégarde et pour d'autres sites (utilisation de la même base de donnée) modifié le password de ma base sql depuis mon compte client chez mon hébergeur.

De fait, mon thélia est en erreur, front office comme back office sont inaccessible pour le motif : accès à la base de donnée impossible.

Je ne connais pas mon ancien mot de passe sql, donc impossible de revenir en arrière.

Est-il possible de changer le mot de passe enregistré dans les fichiers de thélia par un accès ftp (par exemple) ???
Si oui, ou ... comment ??

J'ai téléchargé le fichier Cnx.class.php.orig mais je n'y comprend rien et je ne sais même pas si je dois modifier qq chose à l'intérieur...

MERCI mille fois à celui qui me sauvera !


Bruno



Contenu de Cnx.class.php.orig:




<?php
    //Modif par Roadster31 - singleton de connexion à la BDD


    class StaticConnection
    {
        public static $db_handle = -1;

        public static function getHandle()
        {
            if (self::$db_handle == -1)
            {
                self::$db_handle = @mysql_connect(Cnx::$host, Cnx::$login_mysql, Cnx::$password_mysql) or die('Le serveur MySQL n\'est pas accessible.');
                mysql_query("SET NAMES UTF8", self::$db_handle);

                if(! self::$db_handle && $_REQUEST['erreur'] != 1)
                {
                    header('HTTP/1.1 503 Service Temporarily Unavailable');
                    header('Status: 503 Service Temporarily Unavailable');
                    echo "Connexion à la base de données impossible"; exit;
                }

                mysql_select_db(Cnx::$db, self::$db_handle);
            }

            return self::$db_handle;
        }
    }

    // Classe Cnx
    // host --> votre serveur mysql
    // login_mysql --> login de connexion
    // password_mysql --> mot de passe de connexion
    // db --> nom de la base de donnée
    class Cnx{

        public static $host= "votre_serveur";
        public static $login_mysql= "votre_login_mysql";
        public static $password_mysql= "votre_motdepasse_mysql";
        public static $db = "bdd_sql";

        var $table = "";
        var $link="";

        function __construct() {

            $this->link = StaticConnection::getHandle();

            self::$host = '';
            self::$login_mysql = '';
            self::$password_mysql = '';
            self::$db = '';
        }

        public function query($query) {
            $resul = mysql_query($query, $this->link);

            // A décommenter pour debug
            /*
            if ($resul === false) {
                die("Erreur: ".mysql_error().": requête: $query");
            }
            */

            return $resul;
        }

        public function fetch_object($dbhandle, $classname = false) {
            if ($classname !== false)
                return mysql_fetch_object($dbhandle, $classname);
            else
                return mysql_fetch_object($dbhandle);
        }

        public function num_rows($dbhandle) {
            return mysql_num_rows($dbhandle);
        }

        public function get_result($dbhandle, $row = 0, $field = 0) {
            return mysql_result($dbhandle, $row, $field);
        }

        public function escape_string($value) {
            if(get_magic_quotes_gpc()) $value = stripslashes($value);

            return mysql_real_escape_string($value);
        }
    }
?>

Offline


C'est cette partie là que tu doit modifier :

        public static $host= "votre_serveur";
        public static $login_mysql= "votre_login_mysql";
        public static $password_mysql= "votre_motdepasse_mysql";
        public static $db = "bdd_sql";

Exemple:

        public static $host= "mysql.mon-hebergeur.com";
        public static $login_mysql= "Mickey";
        public static $password_mysql= "mouse";
        public static $db = "mabasethelia";

Après tu renomme ce fichier Cnx.class.php, et tu le copie sur le ftp.


En espérant avoir été clair.

Offline


Re bonjour,

Comme diraient les p'tits jeunes : de la bombe de balle !

J'ai tout compris et ça fonctionne impec !

Donc,  2 x 1000 mercis !

Bonne soirée,
Bruno