Php 在自定义模块中添加JFactory代码后未找到JFile

Php 在自定义模块中添加JFactory代码后未找到JFile,php,database,module,fatal-error,joomla3.4,Php,Database,Module,Fatal Error,Joomla3.4,我创建了一个自定义捐赠模块,在其中我将一些表单数据从default.php发布到另一个名为checkout.php的php脚本。 现在,我添加了一些代码,将数据插入checkout.php中的数据库 //setup db $db =& JFactory::getDBO(); //create database table if needed $createTable = "CREATE TABLE IF NOT EXISTS `#__idealdonaties` ( " .

我创建了一个自定义捐赠模块,在其中我将一些表单数据从default.php发布到另一个名为checkout.php的php脚本。 现在,我添加了一些代码,将数据插入checkout.php中的数据库

//setup db  
$db =& JFactory::getDBO();

//create database table if needed
$createTable = "CREATE TABLE IF NOT EXISTS `#__idealdonaties` ( " . 
    "`id` int(10) NOT NULL, " . 
    "`donateur_id` varchar(40) NOT NULL, " . 
    "`naam` varchar(100) NOT NULL, " . 
    "`email` varchar(250), " . 
    "`bedrag` varchar(100) NOT NULL, " . 
    "`status` int(1) DEFAULT 0, . 
    PRIMARY KEY (`id`), KEY `donateur_id` (`donateur_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
$db->setQuery($createTable);
$db->query();

//insert data into table
$insertData = "INSERT INTO `#__idealdonaties` ( `donateur_id`, `naam`, `email`, `bedrag`, `status` ) " .
    "VALUES (`" . $brq_invoicenumber . "`, `" . $cust_name . "`, `" . $cust_email . "`, `" . $brq_amount . "`, 0)";
$db->setQuery($insertData);
$db->query();   
但有一个错误:

致命错误:在第87行的/home/sitesomple/public_html/modules/mod_idealdonate/checkout.php中找不到类“JFactory”

现在,我通过添加以下代码修复了该错误(经过一些搜索):

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../' ));  
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );

$mainframe = JFactory::getApplication('site');
但现在我发现了一个全新的错误:

致命错误:在第73行的/home/sitesomple/public_html/modules/mod_roknavmenu/lib/roknavmenu.php中找不到类“JFile”

出于某种原因,roknavmenu模块无法定位JFile类,尽管我在该php文件中没有做任何更改,也没有对包含JFile类的file.php脚本做任何操作


我已经将file.php的新版本复制到/public_html/libraries/joomla/filesystem文件夹中。但是没有用。

不确定这是否是正确的解决方案,但似乎起了作用。
我删除了以下行:
$mainframe=JFactory::getApplication('site')

不确定这是否是正确的解决方案,但似乎已经奏效了。 我删除了以下行:
$mainframe=JFactory::getApplication('site')