DB insert 후,
(이전) result 값 받아서, 컨트롤러에서 alert : 흰 여백에 alert이 뜨는것이 보기 싫어서 현재 버전으로 변경.
(현재) result 값 받아서, 컨트롤러 거쳐서, view에서 성공여부 얼럿창을 띄움.
정상 동작은 하는데 일반적으로 이렇게 해도 되는지...선배님들 의견 좀 부탁 드립니다.
(현재 컨트롤러 소스)
else
{
--생략--
'created_by' => $this->input->post('user_name', TRUE) , //생성자 명(=가입자명)
'created_ip' => $this->input->post('created_ip', TRUE) //생성자 ip
);
$data['result'] = $this->member_m->freelancer_member_insert($data); //모델에 업데이트 요청
$this->load->view('html/joinus/join_freelancer_v.php',$data); //성공여부 결과 값을 뷰로 넘김
}
(현재 뷰 소스)
<!---- 회원가입 완료 alert 시작 ---->
<script>
//컨트롤러로 부터 넘겨받은 result를 변수로 만듬
var result = "<?php echo $result; ?>"
if( result ) //등록 성공 시
{
alert('가입 완료 되었습니다.', '/auth');
exit;
}
else
{
alert('다시 입력해 주세요.', '/joinus/join_user');
exit;
}
</script>
<!---- 회원가입 완료 alert 끝 ---->
전 요새는
https://codeigniter-kr.org/user_guide_2.1.0/libraries/sessions.html
제일 하단에 보시면 flashdata 라는게 있습니다.
1회성 세션에 내용을 담는 겁니다.
그리고서 레이아웃이나 등에 저 값을 alert하는 걸 레이아웃등 공통 영역, 없다면 전부(?)에 넣어두고
글 등록후 flashdata에 담아서 이동할 페이지로 그냥 보냅니다. 그러면 이동된 페이지에 1회성 flashdata에 데이터가 있으니 그를 뿌리던 어쩌던 합니다.
웅파님, 강민님. 좋은 의견 감사합니다^^ 많은 도움 되었습니다.
번외로 궁금한게 있는데요..
Data 처리할때, 요즘 Form 대신에 AJAX로 대부분 처리하나요? AJAX로 처리 시 보안 이슈는 어떤가요?
저는 회원가입, 로그인, 회원정보수정은 FORM으로 하고, 나머지는 AJAX로 전부 처리했는데 어떻게 하는 것이 일반적인지
궁금하네요.
Ajax는
비동기가 좋은 상황이라던가
비동기여야만 하는 상황이라던가
개발/기획/UI/UX의 성향에 따른 선택이지 뭐가 좋고 안좋고가 결정될 부분은 아니라고 봅니당~
동기던지 비동기던지 서버에서 처리하는 보안은 똑같습니다. 어떤게 보안에 취약하고 그런건 없습니다. ^^