2012-09-16 2 views
2

예. 나는 내 컨트롤러에서 이런 일이 :

이제
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|xss_clean'); 
$this->form_validation->set_rules('name', 'Name', 'trim|xss_clean'); 

내 질문에, 내가 나중에 내 코드에서 (같은 방법으로 내부) 같은 것을 할 경우 :

$user_profiles = array(

'email' => $_POST['email'], 
'name' => $_POST['name'] 
); 

윌의 변수를 이 어레이는 살균 되었습니까?

나는 $ _POST 값의 모든 후속 코드 사용에 대해 form_validation-> set_rules를 유지합니까? 아니면 다른 기술을 사용해야합니까?

답변

4

CodeIgniter는 그들이 양식 유효성 검사에 의해 살균 한 후, 필요한 값을 얻을 수있는 방법 게시물이 입력 클래스를 제공 특정 이유가없는 한 $ _POST 대신에 input -> post()를 사용하십시오. 문서에는 입력 클래스에 대한 설명과 용도가 더 있습니다. http://ellislab.com/codeigniter/user_guide/libraries/input.html.

+0

그래서 post ('email')로 $ _POST [ 'email']를 사용하면 이전 위생을 기억할 것입니까? – Derfder

+0

$ this-> form_validation-> run()을 호출 한 후 $ this-> input-> post ('email')를 호출하면 반환 된 값은 규칙에 입력 한 값으로 처리됩니다 예 : 'trim | xss_clean' –

+0

스티븐이 맞을 것 같네요.) – Derfder

1

나는 100 % 확신 할 수는 없지만 form_validation은 주어진 인자에 대한 변수를 테스트하지만 dosen't는 그것들을 정리합니다.

나는 항상 양식 데이터를 처리 할 때 $postdata = $this->input->post(NULL, TRUE);을 사용했습니다.

$user_profiles = array(
    'email' => $this->input->post('email'), 
    'name' => $this->input->post('name') 
); 

내가 더 많거나 적게는 $이를 사용하는 것이 좋습니다 것입니다 :

관련 문제