OVH Community, votre nouvel espace communautaire.

Call to a member function on a non-object


drebin
10/09/2006, 13h21
ok je vais essayer ca, mais je viens de m'appercevoir que sans rien changer à mon site, j'ai maintenant un message "could not connect à the database", c'est vraiment bizarre.... (www.foyerfamily.com/index2.php) vu que j'ai les bon parametres de connexion et que de toute facon je n'avais pas changé ces parametres.
Bref, en tout cas merci beaucoup pour tes réponses et ton aide!

Shadow aok
10/09/2006, 12h24
A première vue le code à l'air correct.

Essaye voir dans index.php de remplacer la première ligne :
require_once("zen/template-functions.php");

par

include_once("zen/template-functions.php");

Sinon, vois sur le forum du script, je n'ai pas le temps de l'installer moi-même et de le tester.

drebin
10/09/2006, 04h11
Citation Envoyé par Shadow aok
Quel est le domaine concerné que je puisse y jeter un oeil ?
il s'agit du domaine www.foyerfamily.com

(et le script sur www.foyerfamily.com/index.php?pid=111).

Merci pour votre aide.

Shadow aok
09/09/2006, 19h52
Quel est le domaine concerné que je puisse y jeter un oeil ?

drebin
09/09/2006, 18h19
déjà, merci pour vos réponses.

le fichier contenant la fonction getCurrentTheme se nomme effectivement classes.php, et est appelé en require_once dans la page d'index:

index.php :
require_once('espacephotos/zen/template-functions.php');

template-functions.php:
require_once("classes.php");

sinon, j'utilise déjà la derniere version du script.

Ca parait juste?

ps: pour info, j'utilise en local php 4.3.10, et l'erreur n'a pas lieu

Shadow aok
09/09/2006, 18h12
C'est simple, cette fonction est appellée comme faisant partie d'une classe et on lui passe un objet en paramètre.
Donc là il faut voir le fichier contenant la fonction getCurrentTheme, pour savoir si il s'agit bien d'une classe, mais aussi tout index.php pour voir si la classe est bien instanciée.

Sinon essaye en passant sur la dernière version du script.

drebin
09/09/2006, 18h09
l'erreur se fait sur la ligne 5 qui envoit:

$theme = $_zp_gallery->getCurrentTheme();

j'ai trouvé la fonction getCurrentTheme qui definit :

Code:
  function getCurrentTheme() {
    if (empty($this->theme)) {
      $themefile = SERVERPATH . "/cache/theme.txt";
      $theme = "";
      if (is_readable($themefile) && $fp = @fopen($themefile, "r")) {
        $theme = fgets($fp);
        $themes = $this->getThemes();
        if (!isset($themes[$theme])) {
          $theme = "";
        }
        fclose($fp);
      }
      if (empty($theme)) {
        $theme = "default";
      }
      $this->theme = $theme;
    }
    return $this->theme;
  }
voilà j'espere avoir bien identifié la source du bug pour éviter de coller trop de code.

Merci d'avance

Shadow aok
09/09/2006, 18h02
Sans me donner la version du script ou le code de ton index.php, comment veux-tu que je puisse voir quoi que ce soit ?

drebin
09/09/2006, 16h48
bonjour,

le sript est celui de zen photo (que j'ai un peu modifié pour l'integrer dans mon site, mais rien de fondamental)

l'erreur complete est la suivante:

Fatal error: Call to a member function on a non-object in /home.1/f/o/y/foyerfam/www/espacephotos/index.php on line 5

merci pour votre aide.

PS: en local j'utilise la derniere version de easyphp 1.8.0.1

Shadow aok
09/09/2006, 16h38
Merci d'indiquer le nom du script, l'erreur complète et ton domaine.
Le code ne doit pas respecter les standards actuels de php mais il doit très bien tourner sur des versions de php plus anciennes.

drebin
09/09/2006, 16h27
bonjour,

depuis la mise à jour des serveurs avant l'été, j'ai un script qui ne fonctionne plus sur ovh (un diaporama photo, avec le message indiqué dans l'objet de mon message).

il marchait tres bien avant, et je viens de verifier, il fonctionne chez un hebergeur gratuit

quelqu'un a t'il rencontré le meme type de probleme?

Merci