Я написал код ниже, но он дает мне несколько ошибок (перечисленных после кода). Я не знал, как ее решить.
Модель -> News_model
<?php
class News_model extends CI_Model {
public function __construct()
{
$this->load->database();
}
public function get_news($slug = FALSE)
{
if ($slug === FALSE)
{
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news', array('slug' => $slug));
return $query->row_array();
}
}
?> ```
**Controller -> News.php **
```<?php
class News extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('News_model');
$this->load->helper('url_helper');
}
public function index()
{
//$this->load->model('News_model');
$data['news'] = $this->News_model->get_news();
$data['title'] = 'News archive';
$this->load->view('templates/header', $data);
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
}
public function view($slug = NULL)
{
$data['news_item'] = $this->News_model->get_news($slug);
if (empty($data['news_item']))
{
show_404();
}
$data['title'] = $data['news_item']['title'];
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
}
public function set_news()
{
$this->load->helper('url');
$slug = url_title($this->input->post('title'), 'dash', TRUE);
$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'text' => $this->input->post('text')
);
return $this->db->insert('news', $data);
}
public function create()
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Create a news item';
$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('text', 'Text', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('news/create');
$this->load->view('templates/footer');
}
else
{
$this->news_model->set_news();
$this->load->view('news/success');
}
}
}
просмотров -> просмотры / новости / создать. php
<h2><?php echo $title; ?></h2>
<?php echo validation_errors(); ?>
<?php echo form_open('news/create'); ?>
<label for="title">Title</label>
<input type="text" name="title" /><br />
<label for="text">Text</label>
<textarea name="text"></textarea><br />
<input type="submit" name="submit" value="Create news item" />
</form>
просмотр -> просмотры / новости / индекс. php
<h2><?php echo $title; ?></h2>
<?php foreach ($news as $news_item): ?>
<h3><?php echo $news_item['title']; ?></h3>
<div class="main">
<?php echo $news_item['text']; ?>
</div>
<p><a href="<?php echo site_url('news/'.$news_item['slug']); ?>">View article</a></p>
<?php endforeach; ?>
просмотр -> просмотры / новости / успех . php
<!DOCTYPE html>
<html>
<head>
<title>Success</title>
</head>
<body>
<h2>Succeed</h2>
</body>
</html>
views-> views / news / view. php
<?php
echo '<h2>'.$news_item['title'].'</h2>';
echo $news_item['text'];
Ошибки
A PHP Произошла ошибка. Уровень серьезности: Уведомление
Сообщение: неопределенное свойство: News :: $ news_model
Имя файла: controllers / News. php
Номер строки: 72
Backtrace:
Файл: C: \ xampp \ htdocs \ oproject \ application \ controllers \ News. php Строка: 72 Функция : _error_handler
Файл: C: \ xampp \ htdocs \ oproject \ index. php Строка: 315 Функция: require_once
Обнаружено необработанное исключение Тип: Ошибка
Сообщение: вызов функции-члена set_news () со значением NULL
Имя файла: C: \ xampp \ htdocs \ oproject \ application \ cont rollers \ News. php
Номер строки: 72
Backtrace:
Файл: C: \ xampp \ htdocs \ oproject \ index. php Линия : 315 Функция: require_once