Codeigniter加载库

时间:2011-12-29 02:03:15

标签: view controller codeigniter-2

我有一个像这样的控制器:

<?php if( ! defined('BASEPATH')) exit ('No direct script acces allowed');

class Halaman extends CI_controller{
function __controller(){
    parent::controller;
    $this->load->helper(array('url','form'));
    $this->load->library('table');
}

function index(){
    $this->load->library(array('form_validation'));
    $this->load->view('view_halaman');
}
function daftar(){
            $this->load->model(url);
    }
}

我有像这样的观点

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>Pembagian menggunakan validasi!!</title> 
</head> 


<body> 
<h1>Daftar Ulang</h1> 
<?php echo form_open('halaman/daftar'); ?>
<?php $data=array(
    array('Field','isi data'),
    array('nama',form_input('user','tulis username')),
    array('password',form_password('pass','password')),
    array('email',form_input('email','tulis email di sini'))
);
echo $this->table->generate($data);
?>
<?php echo form_close(); ?>

<p><br/>Page rendered in {elapsed_time} seconds</p>
</html>

在这里输入代码

我得到的就是这个: error message 我的错在哪里?对不起,我在codeigniter真的是新手。非常感谢。

2 个答案:

答案 0 :(得分:0)

$ table不是视图对象的成员。因此,您无法从视图模板中调用它。您需要将echo $this->table->generate($data);移动到控制器,并将其分配给视图变量或仅从控制器回显它。

答案 1 :(得分:0)

我认为问题是没有加载库(这是红色框中的错误)。如果不遵循CI库名称约定,则会发生这种情况。 Table库应该在application / libraries / Table.php中,类必须像:

class Table {
   // Your code
}

http://codeigniter.com/user_guide/general/creating_libraries.html

当您加载库时,请使用名称为大写T:

$this->load->library('Table');

此致