Php 添加函数时出现Codeigniter错误
我用codeigniter创建了我的第一个站点。 我正在尝试设置编辑功能,但出现错误: 严重性:通知消息: 未定义索引:程序 文件名:controllers/news.php行号:21 此处为控制器代码:Php 添加函数时出现Codeigniter错误,php,codeigniter,Php,Codeigniter,我用codeigniter创建了我的第一个站点。 我正在尝试设置编辑功能,但出现错误: 严重性:通知消息: 未定义索引:程序 文件名:controllers/news.php行号:21 此处为控制器代码: <?php class News extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('news_model');
<?php
class News extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('news_model');
}
public function index()
{
$data['news'] = $this->news_model->get_news();
$data['program'] = 'News archive';
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar');
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
}
public function view($id)
{
$data = array('news_item' => $this->news_model->get_news($id));
$data['news_item'] = $this->news_model->get_news($id);
$data['program'] = $data['news_item']['program']; // ERROR IS HERE
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar');
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
if (empty($data['news_item']))
{
show_404();
}
}
public function create(){
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Создать';
$this->form_validation->set_rules('program', 'Программа', 'required');
$this->form_validation->set_rules('code', 'Код', 'required');
$this->form_validation->set_rules('course', 'Направление', 'required');
$this->form_validation->set_rules('form', 'Форма обучения', 'required');
$this->form_validation->set_rules('time', 'Срок обучения', 'required');
$this->form_validation->set_rules('price', 'Стоимость', 'required');
$this->form_validation->set_rules('accreditation', 'Аккредитация', 'required');
$this->form_validation->set_rules('department', 'Кафедра', 'required');
$this->form_validation->set_rules('level', 'Уровень', 'required');
$this->form_validation->set_rules('type', 'Тип ОП', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar');
$this->load->view('news/create');
$this->load->view('templates/footer');
}
else
{
$this->news_model->set_news();
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar');
$this->load->view('news/formsuccess');
$this->load->view('templates/footer');
}
}
public function edit($id) { // передаем ид для редактирования
$this->load->helper(array('form', 'url'));
$this->load->library('validation');
if (!$this->input->post('id') && !$this->input->post('program')) {
$news_item = $this->news_model->get($id);
$this->validation->id = $news_item['id'];
$this->validation->program = $news_item['program'];
}
$data = array();
if ($this->validation->run() === FALSE)
{
$this->load->view('form', $data);
}
else
{
$data = array(
'program' => $this->input->post('program'),
'code' => $this->input->post('code'),
'course' => $this->input->post('course'),
'form' => $this->input->post('form'),
'time' => $this->input->post('time'),
'price' => $this->input->post('price'),
'accreditation' => $this->input->post('accreditation'),
'department' => $this->input->post('department'),
'level' => $this->input->post('level'),
'type' => $this->input->post('type')
);
$this->news_model->update($data);
redirect('/news');
}
}
}
未定义数组索引的变量或值时,将调用未定义索引错误消息 试一试 它是否将数据类型打印为对象?如果它的目标 试一试 如果这些没有帮助,请发布以下行的输出, 这将帮助这里的每个人解决您的问题
var_dump($data['news_item']);
@拼图男孩
$data['program']=$data['news_item']['program']];//错误在这里
这两行正在做相同的工作<代码>$data=array('news\u item'=>$this->news\u model->get\u news($id))$数据['news\u item']=$this->news\u model->get\u news($id)代码>摆脱任何一个并尝试。检查var_dump($data['program']);在控制器中。它的输出是什么?我添加了var_dump($data['program']);我没有这个问题,但是现在在版本的页面上显示“404页面未找到”,什么是vardump($this->news\u model->get\u news($id));退出()
show?基本上,这个错误意味着尚未设置您要查找的索引。
$data['program'] = $data['news_item']->program; // ERROR IS HERE
var_dump($data['news_item']);