공부하고 있는데요. 회원가입시 회원여분필드를 분할하는 방법을 알아보고 있습니다.
mb_1만을 예로
체크박스는 아래처럼 찾아서 정리해는데요.
[체크박스일때]
register_form.skin.php에
<?
$mb_1_arr = array( //체크박스
"1" => "선택1",
"2" => "선택2");
?>
register_form_update.tail.skin.php에
//체크박스
$mb_1 = implode('|', $_POST['mb_1']);
$sql = " update {$g5['member_table']} set mb_1 = '{$mb_1}' where mb_id = '{$mb_id}' ";
sql_query($sql);
다른경우
라디오, 셀렉트, 텍스트 등은 어떻게 해야하나요?
고수님들의 가르침 부탁합니다.
답변 2개 / 댓글 3개
radio, select, textbox 의 경우에는, register_form.php 에서만 처리해주면 되고, 특별히 할 것은 없습니다.
ex.
<input type="radio" name="mb_1" value="1" <?php echo $mb_1 == "1" ? 'checked="checked" : '' ?> /> 선택1
<input type="radio" name="mb_1" value="2" <?php echo $mb_1 == "2" ? 'checked="checked" : '' ?> /> 선택2
mb_1 ~ mb_10 필드는 기본소스에서도 저장처리가 되기 때문에 다른 처리는 하지 않아도 됩니다.
select, textbox 도 별반 다르지 않습니다.
checkbox 는 선택된 값들 모두 저장 형태이고(본문과 같이 저장하는 경우가 많습니다.), radio, select 는 선택된 단일값이 저장되는 형태라는 차이가 있습니다.
checkbox 는 본문과 같은 방법으로, 하나의 필드만 사용하는 것이 일반적입니다. (checkbox 를 여러 필드에 저장하는 것은 드문 케이스이고, 추천되지 않는 방법입니다.)
select,radio, textbox 는 checkbox 보다는 간단합니다. 하나의 필드로 원래 충분하고요.
추가사항1 - checkbox
추가사항2 - radio
추가사항3 - select
추가사항4 - select
추가사항5 - textbox
추가사항6 - textbox
추가사항7 - textbox
추가사항8 - textbox
추가사항9 - textbox
추가사항10 - textbox
인 경우에는, checkbox 만 본문과 같이 사용하고, select, radio, text 는 단일값 저장 처리로 하면 됩니다.
추가사항으로 저장해야 될 정보가 10개를 훨씬 넘는다면,
이전에 기술한 것과 같은 방법을 사용할 수도 있는데... 그 때는 checkbox 저장을 사용한 구분자와는 다른 구분자를 사용하면 될 것입니다. 선택1|선택2^선택1
답변에 대한 댓글 2개
그러한 경우에는 그누보드에서 기본 제공하는 회원 정보,
그리고 기본적으로 제공하는 여분필드 10개로 커버가 가능한 경우가 대부분입니다.
아주 큰 사이트의 경우에는,
회원정보를 아주 많이 받는 경우가 있다면,
그누보드를 쓰지 않는다면, 일반적으로는 항목별로 필드를 만드는 경우가 많습니다. 30개라면, 30개 필드
그누보드를 사용한다면, 역시나 2개 정도의 선택지가 있습니다.
여분필드를 필요한 만큼 만드는 방법 -> 소스를 좀 더 많이 수정해야 됩니다.
여분필드를 10개 내에서 사용하는 방법 -> 스킨 수정정도로 처리할 수 있고, 핵심 소스는 수정하지 않을 수 있습니다.
일반적인 DB 사용시에는,
필드 갯수가 엄청나게 많은 경우가 아니면,
그 때 얘기한 것처럼 합쳐서 한 필드에 저장하는 경우는 드문 편입니다.
유지보수나 협업, 이후 작업자들을 고려해서도 무난한 구성으로 가는 경우가 좋기 때문입니다.
지난번에 얘기한 케이스는,
그누보드의 사용 사이트의 경우 여분필드 10개 이상을 사용하는 경우가 많지 않다는 생각에,
부득이 10개 이상 필요한 경우에는 유지보수측 측면을 고려해서,
여러항목을 하나의 필드에 저장하는 방법을 생각해볼 수도 있다 정도로 얘기드린 것입니다.
의미정보 하나당 한 필드를 사용하는 것이 일반적입니다.
(check box 의 경우에는 체크된 값들을 구분하여 합쳐서 저장하는 경우가 많습니다.)
저는 "체크박스" 만 분할하고 "기타" 일 경우 "여분필드" 를 추가 합니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
회원가입에서 굳이 필드를 나눌필요는 없다는 말씀으로 이해됩니다.
제가 궁금했던 이유는
가끔보면 웹사이트중 회원가입쪽에서
대박 많은 정보를 요구하는, 예를 들면 관공서사이트들중에 그런곳이 가끔 있쥬~
그런데는 입력할 필드가 대략 30~50개 되는곳도 종종보게되는데
공부하는 사람으로서
이런경우에는 필드를 추가하는것인지
아니면 적당히 묶어서 하나의 필드를 쪼개는것인지
의미에 따라 쪼개는 것인지 대충 막 10개단위로 묶어서 쪼개는 것인지
경험이 없는 초보자는 이유가 항상 궁금하기 때문에 ㅋㅋ
경험있는 고수님들의 말씀을 구하는 바입니다.
아무튼 공부하는데 많은 도움이 됩니다. 감사합니다. 꾸벅.^^