2014-06-24 7 views
-3

je suis face à un problème vraiment bizarre sur php 5.3.28objectif PHP fonctionne parfois parfois

j'ai ce code:

ob_start(); 
session_start(); 
include("../common.php"); 
check_user_login(); 
$Pageination->Pagination(); 
$p = $Pageination; 

-je utiliser ce code pour tout mon site pour la pagination, mais Je ne sais pas pourquoi un certain temps je reçois cette erreur

PHP Fatal error: Call to undefined function Pagination() in

et parfois ce code fonctionnent très bien avec l'erreur out!

[MISE À JOUR 1]

ce code de mon principal/main.php

ob_start(); 
session_start(); 
include("../common.php"); 
check_user_login(); 
$Var_120->Pagination(); 
$p = $Var_120; 
$page = setpage(); 
$Var_336->AdminLoginlist(); 
$al = $Var_336; 

et son travail

pas ce code de mon principal/edit-faq.php

ob_start(); 
session_start(); 
include("../common.php"); 
check_user_login(); 
$Var_312->Pagination(); 
$p = $Var_312; 
$page = setpage(); 
$Var_528->viewcategory(); 

ne fonctionne pas et l'erreur est juste à

Fatal error: Call to a member function Pagination() on a non-object in /home/zmiintco/public_html/z/main/edit-faq.php on line 91

c'est mon code common.php

include("lib/connect.php"); 
include("lib/function.php"); 
include("lib/pagination.php"); 
include("lib/validation.php"); 
include("lib/simpleimage.php"); 
include("language/".get_page_settings("11").".php"); 
+1

Cela ne vous dérange pas que 'Pagination' s'écrit de deux façons différentes dans la même ligne de code? –

+0

Je n'ai jamais pensé/à ce sujet, – madman

Répondre

0

Vous avez probablement erreur de déclaration figurant pour ne pas afficher les avertissements. Par conséquent, vous ne voyez pas que votre instruction include() échoue. Par conséquent, votre classe Paginator n'est pas disponible pour votre script et provoque une erreur fatale lorsque vous essayez de l'instancier.

Voir How to get useful error messages in PHP? pour plus de détails sur la configuration correcte des rapports d'erreur.

Ceci est probablement dû au fait que vous utilisez un chemin relatif à ce fichier qui est incorrect lorsque le script n'est pas un répertoire sous le répertoire le contenant. Changez le chemin vers l'include pour être un chemin absolu pour résoudre ce problème.

Par exemple:

include("/full/path/to/includes/common.php"); 
+0

im perty sûr que je n'ai aucun problème de chemin lié – madman

+0

"Assez sûr" n'est pas "100% sûr". Et c'est l'explication * seulement * pour laquelle cela fonctionne parfois. Il est généralement recommandé d'utiliser des chemins complets pour éviter ce problème. –

+0

les deux utilisent le même code un travail un autre ne pas. – madman

0

Tout d'abord, définissez votre erreur de déclaration sur le haut de votre script:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

Maintenant, vous aurez fort probablement l'erreur (comme vous l'avez dit) cela:

PHP Fatal error: Call to undefined function Pagination() in

Et ce serait parce que votre variable $Pageination n'a pas été instancié. Il suffit de l'instancier, puis d'appeler ses fonctions membres.

ob_start(); 
session_start(); 
include("../common.php"); 
check_user_login(); 

$Pageination = new Pagination(); 
$Pageination->Pagination(); 
$p = $Pageination; 

Pressuming qu'il est une classe qui est présente quelque part dans votre common.php comprennent?


Pourriez-vous afficher le code dans votre common.php?

+0

@madman Où instanciez-vous ces classes pour pouvoir appeler ses méthodes? – Darren

+0

voici ma pagination de classe pagination {function getPaginationString ... mais je ne comprends pas votre question – madman

+0

@madman Ma question est: Où créez-vous ces classes? c'est-à-dire - '$ pageination = nouvelle pagination();'? – Darren

Questions connexes