【问题标题】:Codeigniter jquery ajax mysql formCodeigniter jquery ajax mysql表单
【发布时间】:2015-12-01 13:57:16
【问题描述】:

观看次数

                            <div id="result_post_wifi"></div>                                
                            <form role="form" action="" id="form-registrasi-field" class="form-registrasi" onsubmit="return registration();">
                                <div class="form-group">
                                    <label class="sr-only" for="form-username">Username</label>
                                    <input type="text" name="username" placeholder="Username..." class="form-username form-control" id="username" required>
                                </div>
                                <div class="form-group">
                                    <label class="sr-only" for="form-password">Password</label>
                                    <input type="password" name="password" placeholder="Password..." class="form-password form-control" id="password" required>
                                </div>
                                            <div class="form-group">
                                    <label class="sr-only" for="form-password2">Password</label>
                                    <input type="password" name="password2" placeholder="Confirm Password..." class="form-password2 form-control" id="password_lagi" required>
                                </div>
                                            <div class="form-group">
                                    <label class="sr-only" for="form-name">Full Name</label>
                                    <input type="text" name="name" placeholder="Full Name..." class="form-name form-control" id="name" required>
                                </div>
                                <div class="form-group">
                                    <label class="sr-only" for="form-email">Email</label>
                                    <input type="text" name="email" placeholder="Email..." class="form-email form-control" id="email" required>
                                </div>

                                            <button type="submit" class="btn"> REGISTRASI </button>
                    </form>
                </div>
        </div>

    </div>

JQUERY 脚本

function open_form()
{
    $('#result_wifi').attr({style : 'display:none'});
    $('#form_wifi').removeAttr('style');
}

function registration()
{
$('#result_post_wifi').html('<div class="alert alert-info">Sending Data  ...</div>');
    $.ajax({
                dataType     : "json",
        type     : "POST",
        url      : "wifi/wifi_sign_up",
        data     : "username=" + $('#username').val() + 
                   "&password=" + $('#password').val() + 
                   "&password2=" + $('#password2').val() + 
                   "&name=" + $('#name').val() + 
               "&email=" + $('#email').val() + 
        success  : function(res)
                            {
                                $('#result_post_wifi').html(res.message);
                                if(res.status == '200')
                                {
                                        $('#username').val('');
                                        $('#password').val('');
                                        $('#password2').val('');
                                        $('#name').val('');
                                        $('#email').val('');                                 
                                        $('#form_registrasi_field').attr({style : 'display:none'});
                                }
            },
        error   : function(){ $('#result_post_wifi').html('<div class="alert alert-warning">Fail to send registration form.</div>'); }, 
                timeout: 50000          
    });     
    return false;
}

控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Wifi extends MX_Controller {

    public function __construct()
    {
        parent::__construct();
//      $this->load->model('wifi_model');
    }                                  



        public function sign_up()

    {
                $username          = $this->input->post('username');
                $password          = $this->input->post('password');
                $password2          = $this->input->post('password2');      
                $name               = $this->input->post('name');
                $email             = $this->input->post('email');

               $this->wifi_model->add_user();
               header("Content-type: application/json");
               echo "{\"data\":" .json_encode($data). "}";

模型

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Wifi_model extends MX_Model {

    public function __construct()
    {
        parent::__construct();
    }

 public function add_user($data)
    {
        $data=array(
            'username'=>$this->input->post('username'),
            'password'=>md5($this->input->post('password')),
            'password2'=>md5($this->input->post('password2')),
            'name'=>$this->input->post('name'),
            'email'=>$this->input->post('email'),

            );

        $this->db->insert('wifi_regs', $data);  

上面的代码还是不想插入到mysql数据库中。

我一直在尝试其他方法,但它仍然不起作用

【问题讨论】:

    标签: php jquery mysql ajax codeigniter


    【解决方案1】:

    查看

    var data = $('#form-registrasi-field').serialize();
    
    $.ajax({
                    dataType     : "json",
            type     : "POST",
            url      : "wifi/sign_up",
            data     : data,
            success  : function(res)
                                {
                                    $('#result_post_wifi').html(res.message);
                                    if(res.status == '200')
                                    {
                                            $('#form-registrasi-field')
                                               .find('input').val('');
                                            $('#form-registrasi-field').hide();                                    }
                },
            error   : function(){ $('#result_post_wifi').html('<div class="alert alert-warning">Fail to send registration form.</div>'); }, 
                    timeout: 50000          
        });     
    

    控制器

    public function sign_up(){
           $data['status'] = 200;
           $data['message'] = 'OK';
           if (!$this->wifi_model->add_user()){
               $this->output->set_status_header('500');
               $data['status'] = 500;
               $data['message'] = 'KO :( ';
           }
           //$data['post'] = $this->input->post();
           echo json_encode($data);
    }
    

    型号

    $this->db->insert('wifi_regs', $data);  
    if ($this->db->affected_rows() == 1)
       return true;
    
    return false;
    

    【讨论】:

    • 它说是 HTTP 1/1 200 OK,但 mysql 没有任何变化
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 2014-03-26
    • 2012-10-08
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多