Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 添加函数时出现Codeigniter错误_Php_Codeigniter - Fatal编程技术网

Php 添加函数时出现Codeigniter错误

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');

我用codeigniter创建了我的第一个站点。 我正在尝试设置编辑功能,但出现错误:

严重性:通知消息: 未定义索引:程序 文件名:controllers/news.php行号:21

此处为控制器代码:

<?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']);