Вставить в базу данных с помощью codeigniter - PullRequest
3 голосов
/ 23 июня 2010

HI

Я хочу вставить данные с помощью формы в CI, но я столкнулся с проблемой Вот мой код модели

function add_form() {
    $this->load->database();
    $id = $this->input->post('id');
    $name = $this->input->post('name');
    $age = $this->input->post('age');       
    $data = array(
       'name' => $this->input->post('name'),
       'age' => $this->input->post('age'),
    );
    $this->db->insert('user',$data);
}

Вот мой код контроллера

function simpleform() {
    $this->load->helper('form');
    $this->load->helper('html');
    $this->load->model('welcomedb_model');
    if( $this->input->post('submit') ) {
        $this->welcomedb_model->add_form();
    }
    $this->load->view('welcomedb_view');
}

и вот мой код просмотра

<?php echo form_open('welcomedb/submit'); ?>
   <? echo $name; ?>: 
   <? echo form_input('name'); ?>
   </br>
   <? echo $age; ?>: 
   <? echo form_input('age'); ?>
   </br>
   <?php echo form_submit('submit', 'Submit'); ?>
   <?php echo form_close(); ?>

Спасибо за вашу помощь

Ответы [ 3 ]

10 голосов
/ 24 июня 2010

Ваша форма отправляется на welcomedb/submit, но ваш контроллер, кажется, находится на welcomedb/simpleform ... возможно, вам нужно изменить это.

В противном случае, похоже, что-то не так.

2 голосов
/ 27 июня 2010

Возможно:

$data = array(
    'name' => $this->input->post('name'),
    'age' => $this->input->post('age'),
);

Удалите запятую из последнего элемента (age) следующим образом:

$data = array(
    'name' => $this->input->post('name'),
    'age' => $this->input->post('age')
);

и всегда выдает ошибку.

1 голос
/ 06 февраля 2014
Best way is to do these code ......
First conifg the autoload and database.
into autoload:$autoload['libraries'] = array('database'); 
              $autoload['helper'] = array('url','form','file');
Into controller

<?php
    class CDemo  extends CI_Controller
    {

        function index()
        {
            $this->load->view('VDemo');
        }
        function save()
        {
            $this->load->model('MDemo');

             if($this->input->post('submit'))
            {
                $this->MDemo->process();                
            }
            redirect('CDemo'); 
        }
    }
?>

Into Model
<?php
    class MDemo extends CI_Model
    {   
        function process()
        {
            $Id = $this->input->post('Id');
            $Name = $this->input->post('Name');
            $data = array(
                   'Id'=>$Id,
                    'Name'=>$Name                    
                    );
                    $this->db->insert('test',$data);    
            }
        }
?>

Into View
<html>
<head>
<title>DEMO</title>
</head>
<body>
    <h1>Form Biodata</h1>
    <?php
        echo form_open('CDemo/save', array('name' => 'VDemo'));    
    ?>
        <table>
            <tr>
                <td>Id :</td>
                <td><input type="text" name="Id"></input></td>
            </tr>
            <tr>
                <td>Name :</td>
                <td><input type="text" name="Name"></input></td>
            </tr>    
            <tr>
                <td><input type="submit" name="submit" value="submit"></input></td>
            </tr>        
        </table>
    <?php
        echo form_close();
    ?>
    <textarea rows="" cols="">Hello</textarea>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...