2012-07-31 33 views
1

傢伙您好我有這樣的代碼,我不知道我做錯了,數據正在就我所看到的定義,這是我收到的錯誤:消息:未定義的變量:數據 - 笨

A PHP Error was encountered 

Severity: Notice 

Message: Undefined variable: data 

Filename: models/site_model.php 

Line Number: 14 
A PHP Error was encountered 

Severity: Warning 

Message: Cannot modify header information - headers already sent by (output started at /Applications/XAMPP/xamppfiles/htdocs/BLOCK/system/core/Exceptions.php:185) 

Filename: core/Common.php 

Line Number: 442 
A Database Error Occurred 

You must use the "set" method to update an entry. 

Filename: /Applications/XAMPP/xamppfiles/htdocs/BLOCK/models/site_model.php 

Line Number: 14 

控制器:

<?php 
class Site extends CI_Controller { 

function index(){ 

    $this->load->view('option_view'); 
} 

function create(){ 

    $data = array(
     'subject' => $this->input->post('subject'), 
     'body' => $this->input->post('body') 
    ); 

    $this->Site_model->add_record($data); 
    $this->index(); 

} 

} 


?> 

模型:

<?php 

class Site_model extends CI_Model { 

function get_records() 

{ 
    $query = $this->db->get('items'); 
    return $query->result(); 
} 

function add_record() 
{ 
    $this->db->insert('items', $data); 
    $return; 
} 

function update_record() 
{ 
    $this->db->where('id', 1); 
    $this->db->update('items', $data); 

} 

function delete_record() 
{ 
    $this->db->where('id', $this->url->segment(3)); 
    $this->db->delete('items'); 

} 

} 





?> 

和視圖:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 

<title>option_view</title> 
<style type="text/css" media="screen"> 
label {display:block;} 
</style> 
</head> 

<body> 
<h2>Create</h2> 
<?php echo form_open('site/create'); ?> 

<p> 
    </label for="subject">Subject</label> 
    <input type="text" name="subject" id="subject"> 
</p> 

<p> 
    </label for="body">Body</label> 
    <input type="text" name="body" id="body"> 
</p> 
<p> 
<input type="submit" value="Submit">  
</p> 
<?php echo form_close();?> 
</body> 
</html> 

你們認爲什麼?

非常感謝

回答

2

模型中的方法不期待參數。例如:

變化:

function add_record() 

到:

function add_record($data) 
3

你永遠傳遞$data你的方法。這是一個範圍問題。

function add_record() 
{ 
    $this->db->insert('items', $data); 
    $return; 
} 

在這種情況下,add_record()不知道什麼$data是(並且把它當作null,因爲它沒有被定義

Variable Scope

0

在這些方法:

function add_record() 
{ 
    $this->db->insert('items', $data); 
    $return; 
} 

function update_record() 
{ 
    $this->db->where('id', 1); 
    $this->db->update('items', $data); 

} 

您尚未將數據傳遞給方法,因此$ data未定義。

相關問題