致命错误:调用未定义的函数

时间:2015-07-02 16:11:55

标签: php html

我正在尝试调用functions.php中定义的函数。但我无法弄清楚为什么会出现这种错误。

让我详细告诉你我想要实现的目标:有两个头文件 - 客户端和管理员。当用户通过index.php进入页面时,将访问客户端标题,但管理员标题将在管理员成功登录后访问。

在functions.php中,这是我定义的函数:

function get_my_header(){
  if(is_home()){ 
    get_header('client'); 
  }
  elseif(is_page('dashboard')){ 
    get_header('own'); 
  }
}
来自index.php get_my_header()

没有错误被调用,但当我尝试从管理页面访问相同的函数时,我收到此错误:

  

致命错误:调用未定义的函数get_my_header()

此错误发生的页面只有这一行:

<?php get_my_header(); ?>

1 个答案:

答案 0 :(得分:0)

最常见的原因是:

  • 您认为包含的文件不包括在内。
  • 在包含文件之前调用该函数

根据您的描述作为标题文件 - 我认为第一个是最有可能的。正如您在管理页面中提到的那样,它不起作用 - 管理页面是否存在于子目录中,例如:

httpdocs/
   index.php
   admin/
       admin_index.php

如果确实如此 - 包含文件的文件路径可能有误,具体取决于您的error_reporting()设置,您可能会或可能不会收到此提醒。

调试此方法的一种方法是在函数文件上使用require()而不是include() - 因为如果PHP无法找到脚本,就会产生致命错误。

http://php.net/manual/en/function.require.php