簡體   English   中英

Codeigniter表單不更新也不重定向

[英]Codeigniter Form Not Updating And Not Redirecting

我正在使用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');

    }
   }
}

在您的模型中,請嘗試將其作為參數傳遞:

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();
}

我已經解決了所有問題,一切正常

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

    }
   }

}

模型

<?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);
   }


}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM