2014-09-13 2 views
1

codeigniter 양식 유효성 검사 lib를 사용하고 있으며 양식이이 특정 행을 업데이트하지 않습니다. 그리고 제출 된 양식을 리디렉션하지 않는 경우. 내 컨트롤러에서Codeigniter 양식이 업데이트되지 않고 리디렉션되지 않음

나는이

$this->load->model('admin/setting/model_setting'); 

$config_meta_title = $this->model_setting->edit_meta_title($this->input->post('config_meta_title')); 

if (!empty($config_meta_title)) { 
    $data['config_meta_title'] = $this->input->post('config_meta_title'); 
} else { 
    $data['config_meta_title'] = $this->configs->get('config_meta_title'); 
} 

하지만 업데이트 데이터베이스와 같은 기능을 사용하십시오.

모델

<?php 

class Model_setting extends CI_Model { 

    public function edit_meta_title() { 

     $data = array(
     'group' => "config", 
     'key' => "config_meta_title", 
     'value' => $this->input->post('config_meta_title') 
    ); 

     $this->db->where('setting_id', "2"); 
     $this->db->update('setting', $data); 
    } 
} 

모델에서
<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Setting extends MY_Controller { 

    public function __construct() { 
     parent::__construct(); 
      $this->lang->load('admin/setting/setting', 'english'); 
      $this->lang->load('admin/english', 'english'); 
      if ($this->session->userdata('user_id') == true) { 
       return true; 
      } else { 
       redirect('admin'); 
      } 
    } 

    public function index() { 
    $this->load->library('form_validation'); 

    $data['text_yes'] = $this->lang->line('text_yes'); 
     $data['text_no'] = $this->lang->line('text_no'); 

     $data['entry_meta_title'] = $this->lang->line('entry_meta_title'); 
     $data['entry_maintenance'] = $this->lang->line('entry_maintenance'); 

     $data['button_save'] = $this->lang->line('button_save'); 
     $data['button_cancel'] = $this->lang->line('button_cancel'); 

     $data['tab_store'] = $this->lang->line('tab_store'); 

     $data['action'] = site_url('admin/setting'); 

     $data['logout'] = site_url('admin/logout'); 

     $data['cancel'] = site_url('admin/dashboard'); 

     $this->load->model('admin/setting/model_setting'); 

     $config_meta_title = $this->model_setting->edit_meta_title($this->input->post('config_meta_title')); 

     if (!empty($config_meta_title)) { 
      $data['config_meta_title'] = $this->input->post('config_meta_title'); 
     } else { 
      $data['config_meta_title'] = $this->configs->get('config_meta_title'); 
     } 

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

     return $this->load->view('setting/settings', $data); 

    } else { 

     redirect('admin/dashboard'); 

    } 
    } 
} 
+0

모든 작업을 완벽하게

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); class Setting extends MY_Controller { public function __construct() { parent::__construct(); $this->lang->load('admin/setting/setting', 'english'); $this->lang->load('admin/english', 'english'); if ($this->session->userdata('user_id') == true) { return true; } else { redirect('admin'); } } public function index() { $data = array(); $data['text_yes'] = $this->lang->line('text_yes'); $data['text_no'] = $this->lang->line('text_no'); $data['entry_meta_title'] = $this->lang->line('entry_meta_title'); $data['entry_template'] = $this->lang->line('entry_template'); $data['entry_maintenance'] = $this->lang->line('entry_maintenance'); $data['button_save'] = $this->lang->line('button_save'); $data['button_cancel'] = $this->lang->line('button_cancel'); $data['tab_store'] = $this->lang->line('tab_store'); $data['action'] = site_url('admin/setting'); $data['logout'] = site_url('admin/logout'); $data['cancel'] = site_url('admin/dashboard'); $this->load->model('admin/setting/model_setting'); if (empty($config_meta_title)) { $data['config_meta_title'] = $this->configs->get('config_meta_title'); } if (empty($config_template)) { $data['config_template'] = $this->configs->get('config_template'); } $data['templates'] = array(); $directories = glob(APPPATH . 'modules/catalog/views/theme/*', GLOB_ONLYDIR); foreach ($directories as $directory) { $data['templates'][] = basename($directory); } if (empty($config_maintenance)) { $data['config_maintenance'] = $this->configs->get('config_maintenance'); } $this->load->library('form_validation'); $this->form_validation->set_rules('config_meta_title', 'Meta Title'); $this->form_validation->set_rules('config_template', 'Template'); $this->form_validation->set_rules('config_maintenance', 'Maintenance'); if ($this->form_validation->run() == FALSE) { return $this->load->view('setting/settings', $data); } else { $config_meta_title = $this->model_setting->edit_meta_title($this->input->post('config_meta_title')); $config_template = $this->model_setting->edit_template($this->input->post('config_template')); $config_maintenance = $this->model_setting->edit_maintenance($this->input->post('config_maintenance')); redirect('admin/dashboard'); } } } 

모델을 지금 내 문제를 해결했습니다 매개 변수를 사용하지 않습니다. – Wold

답변

1

가, 친절 매개 변수로 전달하려고 컨트롤러 :

public function edit_meta_title($config_meta_title) { 
    $data = array(
     'group' => "config", 
     'key' => "config_meta_title", 
     'value' => $config_meta_title, 
    ); 

    $this->db->where('setting_id', "2"); 
    $this->db->update('setting', $data); 

    return $this->db->affected_rows(); 
} 
+0

양식을 제출할 때도 리디렉션되지 않습니다. –

+0

@acoderslife가 업데이트 되었습니까? – Ghost

+0

예 업데이트 중이지만 업데이트가 성공한 후 리디렉션되지 않는 것입니다. –

0

나는 당신이 함수에 매개 변수로> 입력 -> 포스트에게 $ this-`('config_meta_title')를`통과하는

<?php 

class Model_setting extends CI_Model { 

    public function edit_maintenance($config_maintenance) { 
     $data = array(
     'group' => "config", 
     'key' => "config_maintenance", 
     'value' => $config_maintenance, 
    ); 

     $this->db->where('setting_id', "1"); 
     $this->db->update('setting', $data); 
    } 

    public function edit_meta_title($config_meta_title) { 
     $data = array(
     'group' => "config", 
     'key' => "config_meta_title", 
     'value' => $config_meta_title, 
    ); 

     $this->db->where('setting_id', "2"); 
     $this->db->update('setting', $data); 
    } 

    public function edit_template($config_template) { 
     $data = array(
     'group' => "config", 
     'key' => "config_template", 
     'value' => $config_template, 
    ); 

     $this->db->where('setting_id', "3"); 
     $this->db->update('setting', $data); 
    } 


} 
관련 문제