2016-06-02 2 views
0

Я новичок в CodeIgniter, и я столкнулся с ошибками неопределенных переменных. Я не могу узнать, что не так в моем коде. Может ли кто-нибудь взглянуть на это и помочь мне найти ошибку?CodeIgniter undefined переменная ошибка

просмотров/edit_project.php

<?php 
    $attribute = ['class' => 'cmxform']; 
    echo form_open('projects/edit/' . $project_data->id . '', $attribute); // add $project_data->id here 

    if ($this->session->flashdata('errors')) { 
     echo $this->session->flashdata('errors'); 
    } 
?> 
<div class="col-md-12"> 
    <div class="form-group form-animate-text" style="margin-top:40px !important;"> 
     <?php 
      $data = array(
       'type' => 'text', 
       'class' => 'form-text', 
       'name' => 'project_name', 
       'value' => $project_data->project_name 
      ); 
      echo form_input($data); 
     ?> 
     <span class="bar"></span> 
     <?php echo form_label('Nazwa projektu'); ?> 
    </div> 

    <div class="form-group form-animate-text" style="margin-top:40px !important;"> 
     <?php 
      $data = array(
       'type' => 'text', 
       'class' => 'form-text', 
       'name' => 'project_body', 
       'rows' => '3', 
       'value' => $project_data->project_body 
      ); 
      echo form_textarea($data); 
     ?> 
     <span class="bar"></span> 
     <?php echo form_label('Szczegóły projektu'); ?> 
    </div> 
    <div class="form-group form-animate-text" style="margin-top:40px !important;"> 
     <?php 
      $data = array(
       'type' => 'submit', 
       'class' => 'submit btn btn-primary pull-right', 
       'name' => 'submit', 
       'value' => 'Zapisz zmiany' 
      ); 
      echo form_submit($data); 
     ?> 
    </div> 
     <?php echo form_close(); ?> 
</div> 

Изменить метод в контроллере Проекты: контроллеры/projects.php

public function edit($project_id) 
{ 
    $this->form_validation->set_rules('project_name', 'Nazwa projektu', 'trim|required'); 
    $this->form_validation->set_rules('project_body', 'Szczegóły projektu', 'trim|required'); 

    if ($this->form_validation->run() == false) { 

     $data['project_data'] = $this->project_model->get_projects_info($project_id); 

     $data = array('errors' => validation_errors('<strong><div class="bg bg-danger" style="color:#fff"><strong>')); 
     $this->session->set_flashdata($data); 

     $data['main_view'] = 'edit_project'; // this is my view with a form to update the existing project 
     $this->load->view('member_view', $data); 
    } else { 
     $data = array(
      'project_user_id' => $this->session->userdata('user_id'), 
      'project_name' => $this->input->post('project_name'), 
      'project_body' => $this->input->post('project_body') 
     ); 

     if ($this->project_model->edit_project($project_id, $data)) { 
      $this->session->set_flashdata('project_updated', '<strong>Zapisano zmiany</strong>'); 
      redirect('projects'); 
     } 

    } 
} 

и связанные с ним редактировать методы в project_model модели/project_model.php

public function edit_project($project_id, $data) 
{ 
    $this->db->where('id', $project_id); 
    $this->db->update('projects', $data); 

    return true; 
} 

public function get_projects_info($project_id) 
{ 
    $this->db->where('id', $project_id); 
    $get_data = $this->db->get('projects'); 
    return $get_data->row(); 

} 

просмотров/мнений ber_view.php

 <div class="container-fluid mimin-wrapper"> 

     <?php require_once("application/views/includes/nav.php"); ?> 


     <!-- start: content --> 
     <div id="content"> 
       <?php $this->load->view($main_view); ?> 
      </div> 
     <!-- end: content --> 

    </div><!-- end: container-fluid --> 

<?php require_once("application/views/includes/footer.php"); ?> 
+1

опубликуйте полное сообщение об ошибке !! – Saty

+0

Просьба посмотреть: http://www.hastebin.com/dahovageto.tex – Matyas

+0

update: after print_r ($ get_data) из метода get_projects_info Я получаю и пустой массив: mysqli_result Object ([current_field] => 0 [field_count] = > 5 [lengths] => [num_rows] => 1 [type] => 0) [result_array] => Array() [result_object] => Array() [custom_result_object] => Array() [current_row] => 0 [num_rows] => [row_data] =>). Имя моей таблицы называется «проекты» с cols: id, project_user_id, project_name, project_body, create_time – Matyas

ответ

0

(Опубликовано ответ от имени ОП):

проблема решена. Переключение линий в контроллере проектов завершает ошибку.

$data = array('errors' => validation_errors('<strong><div class="bg bg-danger" style="color:#fff"><strong>')); 
     $data['project_data'] = $this->project_model->get_projects_info($project_id); 
Смежные вопросы