Вы публикуете входные значения после form_validation? - PullRequest
0 голосов
/ 08 мая 2011

Вопрос Codeigniter:

Я только что установил свою первую форму с помощью $ this-> form_validation-> set_rules (и т. Д.), После того, как проверки выполнятся, я должен опубликовать значения, используя $ email = $ this-> input-> post ('email', TRUE);или валидация формы уже опубликовала значения?Если так - как мне вернуть эти значения?

Спасибо, Уокер

Ответы [ 3 ]

2 голосов
/ 09 мая 2011

После выполнения проверки значения все еще сохраняются в массиве $_POST, поэтому в зависимости от вашего приложения и ваших потребностей вам может понадобиться или не потребоваться присвоить их переменным.

Для расширения -Если вы собираетесь выполнять дальнейшую обработку, то было бы целесообразно выполнить $email = $this->input->post('email');, но вы также можете просто передать весь массив $ _POST в модель, например, без необходимости какой-либо дополнительной типизации -

$this->my_model->do_something($this->input->post())

В зависимости от ваших требований курса.

1 голос
/ 09 мая 2011

Да - вы правы.

Yout хочет получить значения записей со следующим синтаксисом:

Простой способ обработки данных обновления из формы:

// the if syntax is incorrect, i forget the exact wording
if ($this->form->valid()){
   $updateData = array(
      'email' => $this->input->post('email'),
      'username' => $this->input->post('username'),
      'password' => $this->input->post('password')
   );
   // check uniqueness of email
   $this->db->where('email', $updateData['email']);
   $uniqueQuery = $this->db->get('accounts');
   if ($uniqueQuery->num_rows() == 0){
       $this->db->insert('accounts', $updateData);
   }
}
1 голос
/ 09 мая 2011

input-> post означает все, что находится в суперглобальном массиве $ _POST в PHP. Это устанавливается до того, как Codeigniter что-то сделает с вашим скриптом - и это также означает, что Codeigniter заполняет input-> post из $ _POST. Поэтому, когда вы «публикуете» значения, вы просто отправляете форму с методом, установленным в POST. Есть смысл?

Оттуда класс CI_Controller обрабатывает все остальное, и вы должны иметь доступ к input-> post в любое время до, во время или после проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...