2014-06-24 51 views
-3

我在PHP面临一个很奇怪的问题,28年3月5日PHP目标有时工作有时不

我有这样的代码:

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

我用我所有的网站分页这个代码,但我不知道为什么有些时候我得到这个错误

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

和某个这段代码工作就好用了错误!

[增订1]

从我的主/ 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; 

这个代码和它的工作

没有从我的主/编辑faq.php

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

不工作,错误是在

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

这是我的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

难道你不打扰你在相同的代码行中拼写两个不同的方式吗? –

+0

我从来没有想过/关于它, – madman

回答

0

你可能有错误报告设置为不显示警告。因此,您看不到您的include()声明失败。因此,Paginator类对脚本不可用,并在尝试实例化时导致致命错误。

有关如何正确设置错误报告的详细信息,请参阅How to get useful error messages in PHP?

这很可能是由于您使用的文件的相对路径不正确,因为脚本不是包含它的目录下的一个目录。将包含的路径更改为解决此问题的绝对路径。

例如:

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

我确信我没有任何相关的路径问题 – madman

+0

“很确定”不是“100%确定”。它是为什么它有时会起作用的唯一解释。无论如何,使用完整路径避免这个问题通常是一个好习惯。 –

+0

他们都使用相同的代码,另一个不工作。 – madman

0

首先,设置你的错误在你的脚本的顶部汇报:

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

现在,您将最有可能得到的错误(如你所说)那:

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

而这将是因为你的变量$Pageination未被实例化。 只需实例化它,然后调用其成员函数。

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

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

推测它是存在于您的common.php某处的类包括?


您能否在您的common.php内显示代码?

+0

@madman你在哪里实例化这些类以便能够调用它的方法? – Darren

+0

这里是我的分页类Pagination {function getPaginationString ...但我不能理解你的问题 – madman

+0

@madman我的问题是:你在哪里创建这些类?即 - $ pageination = new Pagination();'? – Darren