2012-05-30 114 views
3

我得到一個錯誤在PHP中:PHP致命錯誤:調用未定義的功能時,函數定義

PHP Fatal error: Call to undefined function getCookie 

代碼:

include('Core/dAmnPHP.php'); 
$tokenarray = getCookie($username, $password); 

內dAmnPHP.php的,它包括一個調用的函數getCookie在類dAmnPHP中。當我運行我的腳本時,它告訴我該函數未定義。

我在做什麼錯?

+7

如果你被告知該功能是不確定的,那麼這就是問題所在。如果您想要更好的答案,您需要展示如何以及如何創建功能。 – Repox

+6

你有沒有找到文件的警告?試着要求而不是包含來確認文件是否包含在內。 –

+0

添加此error_reporting(E_ALL);到腳本的頂部以檢查您是否獲得了E_WARNING – 2012-05-30 13:31:31

回答

7

它看起來像你需要創建一個類的新實例,然後才能使用它的功能。

嘗試: $dAmn = new dAmnPHP; $dAmn->getCookie($username, $password);

我不該死之前使用,所以我不能肯定,但我把我的信息從這裏: https://github.com/DeathShadow/Contra/blob/master/core/dAmnPHP.php

+0

謝謝!這解決了我的問題。 –

+0

$ dAmn = new dAmnPHP();這種方式是正確的還是不正確? – Gopal

2

如何重現此錯誤:

把這種在一個名爲a.php只會文件:

<?php 
include('b.php'); 
umad(); 
?> 

在一個名爲b.php將這個:

<?php 
class myclass{ 
    function umad(){ 
    print "ok"; 
    } 
} 
?> 

運行:

PHP Fatal error: Call to undefined function umad() in 
/home/el/a.php on line 4 

出了什麼問題:

不能使用內部類中的方法不首先他們實例。像這樣做:

<?php 
include('b.php'); 
$mad = new myclass; 
$mad->umad(); 
?> 

然後PHP解釋器可以找到方法:

[email protected] ~ $ php a.php 
ok 
+0

$ mad = new myclass();這是正確與否? – Gopal

+1

要使用類中的函數,必須先將新的單詞放在它之前,而後面沒有括號,然後將其分配給一個變量,如底部示例中所示。 –

相關問題