-1

この以下のコードでは、コントローラーとモデルを配置しました。名前、姓、電子メールアドレス、ユーザー名、パスワード、および日付を挿入します。しかし、現在の日付をmysql plsに挿入して問題を解決することはできません。

コントローラ:ログイン

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

        // field name, error message, validation rules
        $this->form_validation->set_rules('first_name', 'Name', 'trim|required');
        $this->form_validation->set_rules('last_name', 'Last Name', 'trim|required');
        $this->form_validation->set_rules('email_address', 'Email Address', 'trim|required|valid_email');
        $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[4]');
        $this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[4]|max_length[32]');
        $this->form_validation->set_rules('password2', 'Password Confirmation', 'trim|required|matches[password]');


        if($this->form_validation->run() == FALSE)
        {
            $this->load->view('signup_form');
        }

        else
        {           
            $this->load->model('membership_model');

            if($query = $this->membership_model->create_member())
            {
                $data['main_content'] = 'signup_successful';
                $this->load->view('includes/template', $data);
            }
            else
            {
                $this->load->view('signup_form');           
            }
        }

モデル:membership_model

function create_member()
    {

        $new_member_insert_data = array(
            'first_name' => $this->input->post('first_name'),
            'last_name' => $this->input->post('last_name'),
            'email_address' => $this->input->post('email_address'),         
            'username' => $this->input->post('username'),
            'date' => $this->input->post('date','curdate()'),
            'password' => md5($this->input->post('password'))                       
        );

        $insert = $this->db->insert('membership', $new_member_insert_data);
        if ($this->db->_error_number() == 1062)
                {
                echo"<script>alert('This value already exists');</script>";
                }
                if ($this->db->_error_number() == "")
                {
                $this->session->set_flashdata('create', 'create');
                }

        return $insert;
    }



function curdate() {
    // gets current timestamp
    date_default_timezone_set('Asia/Manila'); // What timezone you want to be the default value for your current date.
    return date('Y-m-d H:i:s');
}
4

3 に答える 3

0

この文字列に問題があると思います:

'date' => $this->input->post('date','curdate()')

フレームワーク(フレームワークですか?)は、投稿から値を挿入しようとします。この値が空の場合、curdate() を挿入します。MySQL ではNOW()、現在の日付または日時が挿入されます。

于 2013-11-11T17:14:14.307 に答える
0

構文にバグがあります:

'date' => $this->input->post('date','curdate()')

する必要があります

'date' => $this->input->post($this->curdate())

あるいは、なぜそうしないのか

'date' => date('Y-m-d H:i:s')

?

于 2013-11-11T18:57:56.997 に答える
0

まず、日付を入力するモデル メソッドで、"date" ヘルパーを読み込みます。

    $this->load->helper('date');

または、複数のメソッドで使用している場合は、先に進んでクラス コンストラクターにロードします。

次に、現在の日付を挿入するには:

    'date' => date('Y-m-d H:i:s', now())

それはあなたの方法であなたを取得する必要があります!

于 2013-11-11T17:15:48.923 に答える