2012-05-17 27 views
5

kullanarak doğruladıktan sonra POST verilerini kullanma Kullanıcı girdisini doğruladığım bir kayıt formum var. İşte benim denetleyicisi var:CodeIgniter

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

class Register extends CI_Controller { 

    public function index() 
    { 
     $this->load->model('Users_model'); 
     $this->load->helper('form'); 
     $this->load->library('form_validation'); 

     $data['page_title'] = 'Register'; 
     $this->load->view('header', $data); 

     // Set form validation rules 
     $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[16]|xss_clean|callback_username_check'); 
     $this->form_validation->set_rules('email', 'Email', 'trim|required|min_length[5]|max_length[64]|valid_email|callback_email_check'); 
     $this->form_validation->set_rules('password', 'Password', 'required'); 
     $this->form_validation->set_error_delimiters('<span class="error">', '</span>'); 

     if ($this->form_validation->run() == FALSE) 
     { 
      $this->load->view('register', $data); 
     } 
     else 
     { 
      // Add the user to the database 
      $this->Users_model->add_user(); 
      $this->load->view('register_success', $data); 
     } 

     $this->load->view('footer', $data); 
    } 

    /* Functions to check username and email */ 
} 

/* End of file register.php */ 
/* Location: ./application/controllers/register.php */ 

sorun bu hat ile geçerli: $this->Users_model->add_user();. Kullanıcıyı veritabanına eklemek için Kullanıcı adıma kullanıcı adı, e-posta ve şifre göndermek istiyorum, ancak POST verilerini bu yönteme nasıl alabileceğimi bilmiyorum. Normalde $_POST['username'] vb. Kullanırdım ama CodeIgniter, giriş değerlerinde bazı fonksiyonlar çalıştırdı (trim(), xss_clean vb.). Bu değerleri nasıl alabilirim ve bunları add_user() yöntemime iletebilirim?

cevap

13

CodeIgniter input class, form doğrulama kitaplığı tarafından filtrelendikten sonra POST verilerini almanıza olanak tanır. Kumandanızda size yapacağını şu:

$username = $this->input->post('username'); 
$email = $this->input->post('email'); 
$password = $this->input->post('password'); 
+0

Düşünce diziyi göndermek Bu olurdu ama sormak istediğimden emin değildi. Teşekkür ederim. :) –

+0

Rica ederim! Cevabımı oylamaya mı yoksa cevabımı mı kabul ediyorsun? – birderic

+0

SO, bir cevabı hemen kabul etmeme izin vermiyor, görünüşe göre 3 dakika içinde yapabilirim. :) –

0

Sen yardımcı fonksiyonu olduğu gibi giriş sınıfını kullanabilirsiniz set_value('email')

1

daha da kolay, bir dizi oluşturmak ve modelin