CI 묻고 답하기

제목 폼전송 이거 버그인가요?
글쓴이 허브티 작성시각 2015/11/03 08:47:36
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14736   RSS
현재 코드이그나이터 3.0.1 쓰고 있습니다.

CI에서 폼 전송 시에 input name을 한글이나 기타 유니코드로 줬을 때 받는쪽에서 찍어보면

0번 배열이 하나 추가됩니다 값은 마지막 한글 키의 값을 그대로 갖고 있습니다.

1.
<form action="http://localhost/array_test/print_post" method="post">
    <input type="hidden" name="파랑" value="blue">
    <input type="hidden" name="빨강" value="red">
    <input type="submit">
</form>

2.

echo form_open('array_test/print_post');
$hidden_data = array();
$hidden_data['파랑'] = 'blue';
echo form_hidden($hidden_data);
$hidden_data = array();
$hidden_data['빨강'] = 'red';
echo form_hidden($hidden_data);


1번처럼 쓰나 2번처럼 쓰나 받는 쪽(array_test의 print_post 함수)에서 print_r로 찍어보면

Array(['파랑']=>'blue', ['빨강']=>'red', [0]=>'red') 이렇게 찍힙니다

저만 그런건지 3.0.1문제인건지 아직 안고쳐진 문제인지 궁금합니다
 다음글 세션이 끊어지는데, 이런경우는 처음이라... (3)
 이전글 config파일의 global_xss_filtering... (3)

댓글

허브티 / 2015/11/03 08:50:22 / 추천 0
소스 붙여넣다 보니까 글 양식이 좀 깨졌는데 이해 부탁드립니다..
변종원(웅파) / 2015/11/03 17:17:54 / 추천 0
여기서 ci가 들어가는 부분이 뭔가요? (form_open 은
문 만들어주는 헬퍼입니다.)
일반적인 폼전송으로 배열을 받은건데요. input name이 한글이어서 생기는 현상 같습니다.
native php 소스로 작성해서 폼전송해보시면 ci 문제인지 input name이 한글이어서 생기는 문제인지 알 수 있겠죠?

 
허브티 / 2015/11/03 22:04:30 / 추천 0
물론 네이티브 php로 테스트 해보고 나서 이상이 없어 질문하는겁니다 ci가 들어가는 부분이 따로 있진않고 개발환경이 ci입니다.(뷰에서 input만들어서 컨트롤러로 넘겨줬다는 말이에요) 이번에 3.0 넘어오면서 폼에 한글name을 줄 수 있다 들었습니다. 2.대 버젼에서 테스트 했을 시엔 한글name이 지원하지 않는다 나오고요. 번거로우시겠지만 간단하게 테스트 한번 해주시고 알려주실수 있을까요?
/ 2015/11/04 08:50:24 / 추천 0
php 코딩규약이.. name을 한글로 하는걸 본적이 없는데...;;
 
변종원(웅파) / 2015/11/04 11:07:40 / 추천 0
허브티// input name을 한글로 써도 되지만 권장하지 않을 겁니다. 원칙대로 쓰시는게 좋습니다.