묻고답하기
회원가입 "이메일" 항목 제실력으로는 삭제가 안되요? 제발...도와주세요. (간절)
2012.06.18 14:04
이메일 주소 항목을 없애고 싶어요.
제가 2가지방법을 다 써봤는데도 안되네요.
첫번째로 여기에 비슷한 답변이 있길래..이렇게 해봤어요.
/www/xe/modules/member/skins/default/signup_form
이렇게 했더니 일단 이메일주소 항목은 안나오는데..
아이디,비번,닉네임 입력하면 에러창이 떠요.
그리고
두번째 방법으로 송동우 전문가님께서 알려주신 방법을 해볼려고 했는데 잘 안되었어요. 이유가..
송동우 전문가님께서 알려준방법
---------------------------------------------------------------------------------------------
xe - modules - member - member.admin.cotroller.php 열고
line 181 쯤에
$mustRequireds = array('email_address', 'nick_name', 'password', 'find_account_question');
여기서 붉은 색 부분을 삭제합니다.
그리고
관리페이지 - 회원 - 회원설정
제일 하단에 보면 가입폼관리가 있습니다.
아무것도 하지말고
그냥 오른쪽 하단에 저장을 클릭하면
닉네임 부분을 사용/비사용 선택할 수 있게 됩니다.
사용에 체크해제하고 다시 저장
$args = Context::gets('member_srl','user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date');
댓글 7
-
sejin7940
2012.06.18 15:03
송동우님의 답변은 검색으로 찾아서 해보신듯한데, 저건 XE 1.5 쪽 소스부분입니다
말씀하신 부분은 아마도 modules/member/queries/insertMember.xml 파일에서
<column name="email_id" var="email_id" notnull="notnull" />
<column name="email_host" var="email_host" notnull="notnull" />부분을
<column name="email_id" var="email_id" />
<column name="email_host" var="email_host" />처럼 notnull 부분을 지우시면 되지 않을까 생각합니다
회원수정시도 마찬가지 현상이 발생할것이기에
updateMember.xml 파일에서도 마찬가지 부분을 찾아서 고치시면 될겁니다
직접 테스트해본게 아니여서, 더 수정해야할 게 있을수도 있겠네요 ^^;;
-
박인만
2012.06.18 15:21
전문가님이 알려준대로 notnull 부분만을 지우니까..이메일 입력하는 항목이 나옵니다. 제발 부탁입니다. 직접 테스트 부탁해요 -
sejin7940
2012.06.18 15:47
당연히 위에 적어주신 방법중 첫번째 부분 (즉 스킨에서 해당 부분 삭제는 전제가 되어야죠 ^^;) 스킨을 수정했다는 전제로, 그 후 에러메세지 뜨는걸 막기위한 소스 수정부분을 기재한겁니다. -
박인만
2012.06.18 16:12
세진전문가님 첫번째부분 스킨을 수정하고 님이 시킨대로해도 똑같은 에러창이 나오네요..죄송하지만 기댈대가 없어요..도와주세요ㅠㅠ -
송동우
2012.06.18 19:44
질문을 할 때,
최신버전을 사용하고 있지 않으면
어떤 것을 사용하는지 꼭 밝혀야 합니다.
글을 읽는 사람은 정보가 없을 때, 최신버전을 기준으로 설명을 합니다.
xe - modules - member - skins - default - filter - signup.xml 열고
line 8 쯤에
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email" />여기서 붉은 색을 삭제
그리고 관리페이지에서 캐시파일 재생성
이메일 항목이 나타나지 않게 하는 것은 이미 질문에 포함되어 있어서 생략
-
박인만
2012.06.18 20:00
송동우 전문가님..말씀하신대로 빨간색 부분을 삭제하고 캐시파일 재성성을 했는데 이메일어쩌고...하면서 에러창이 떠요 도와주세요 -
박인만
2012.06.18 20:22
님말씀대로 했는데도 "이미 존재하는 메일주소입니다. 다른 메일주소를 입력해주세요 " 라고 또다시 에러창이 떠요..정말 포기하기 싫은데.. -
박인만
2012.06.18 20:23
제로보드에서 이렇게 간절한적이 있었던지...님아 해결할수있는 능력이 조금이라도 있으시다면 도와주세요.. -
박인만
2012.06.18 21:04
님아라고 한거 죄송해요..제가 100% 말 실수했어요. 도와주시려는분께..진심과 상관없이 실수를 해버렸네요..죄송했어요 -
송동우
2012.06.18 20:31
100% 되는 것 확인을 하고 답변을 올린겁니다.
안된다면 적용을 잘 못했거나
다른 것들을 수정하면서(수정했다면) 잘 못 수정했거나
아무튼
다른 것에 원인이 있는 겁니다.
그런 경우는 이 문제와 전혀 상관없이 발생하는 문제입니다.
그리고 만일 수정을 메모장에서 하는 초보적인 실수를 범하고서
안된다고 하는 것은 아니겠지요?
끝으로.....
질문과 상관없는 내용이지만
의견란에 님아.....라고 한 것을 보니 나이가 어린 학생이라 생각이 됩니다.
그런 말투 상당히 기분을 상하게 하는 말투입니다.
여기 뿐만 아니라 다른 곳에서도 그런 말투 사용안했으면 좋겠습니다.
-
박인만
2012.06.18 20:58
제 말투에 오해가 있었던거 같네요 실례했고 불편한 마음가지게했다면 진심으로 죄송해요. 절 도와주시려는분께 너무 미안했네요 -
박인만
2012.06.18 21:00
제가 다시한번 더 정리해볼께요. signup_form 에서 이메일부분 삭제 / 그리고 signup.xm 에서 required="true" 삭제 -
박인만
2012.06.18 21:01
이 두가지만 하면 되는거 아니에요? 제가 기초적인 실수라도 했거나 머를 빠뜨리지는 않았는지 좀 봐주시면 안될까요? -
송동우
2012.06.18 21:17
답변에 괜한말 한 것 같아 수정을 하려고 왔더니
이미 글을 읽으셨네요...
사람마다 표현법이 다 다른데 괜한 오지랖이다 생각이 드네요
조금 주제 넘었던것 같아 미안하게 생각합니다.
두군데만 수정하면 됩니다.
core 1.4.5.10에서 테스트 했고
예전에도 이것과 똑같은 문제로 질문 많이 받았는데
이 방법으로 모두 성공했습니다.
물론 1.5.x 버전에서는 방법을 다르게 해야하지만....
아무튼 오류가 난다면
그건 다른 문제라고 생각이 듭니다.
그걸 수정한다고 해서 오류가 날 이유가 전혀 없거든요
편집을 할 때는 꼭 에디터 프로그램으로 하세요
설치후, 코어를 어디에 얼마나 수정을 했는지 모르겠지만
이것을 수정한다고 해서 오류가 나지는 않습니다.
다만 html 페이지를 수정할때 코드를 삭제하는 방법보다는
css 에서 해당 클래스명을 찾아서 display:none을 추가해 주면
나타나지 않으며 나중에 다시 사용하고자 할 때, 삭제한 코드가 어떤거였는지
찾아 헤메는 번거로움을 없앨수 있습니다.........
-
송동우
2012.06.18 23:04
눈으로 보면 이해가 더.....
-
박인만
2012.06.20 08:48
왜 안되는거였는지 드디어 원인을 찾은듯해요! -
박인만
2012.06.20 08:48
전문가님말씀대로 하면 처음에는 이메일항목 없이 회원가입이 잘되요. 그런데 두번째, 다시한번 다른 아이디로 회원가입을 하려고하면 -
박인만
2012.06.20 08:52
중복된 이메일이 있다는 에러창이 뜨면서 회원가입이 안되요..제 생각에는 이메일없이 가입된 회원이 있어서 때문인거같아요 -
박인만
2012.06.20 08:53
중복 이메일을 검사하는 소스가 이메일이 없는 회원이 있기 때문에 다시한번더 이메일없이 회원가입을 막는듯해요 -
박인만
2012.06.20 08:54
꼭 체크해주시면 감사하겠어요. -
박인만
2012.06.20 09:25
그리고 다른 실수를 하지 않기위해서 xe.1.4.5.10을 다 지우고 새로 설치한뒤 가르쳐주신대로만 해봤어요. -
박인만
2012.06.20 09:25
송동우 전문가님께서 가르쳐주신대로 했는데도 왜 안되었는지 이제야 이유를 알것 같아요
우선 다른 소스를 건드리지 않기 위해서(다른 실수를 하지 않기위해서)
xe.1.4.5.10을 다 지우고 새로 설치한뒤
가르쳐주신대로 해봤어요
처음에는 이메일없이 회원가입이 잘되요
그런데 두번째로 다시 한번더 다른 아이디로
회원가입을 하려고하면
앞전에 이메일없이 회원가입된 아이디가 있는데
이메일 중복검사를 하는 소스가 이메일없이 가입된 회원이 있기때문에
이걸(빈공간의 이메일주소)를 하나의 이메일이라고 인식하고 중복된 이메일이 있다면서 회원가입이 안되는것같아요....
그래서 다시 한번더 확인하기 위해서
이메일없이 회원가입된 아이디를 삭제하면
다시 이메일없이 회원가입이 잘되요..
왜 이메일없이 회원가입을 하려고하면 한번만 되고
두번째로 하려고 하면 안되는지 모르겠지만,
시간이 되신다면 꼭 다시한번더 체크해주시면 안될까요?
지난번 플래쉬 설명은 너무나도 감동적이고 감사했으며..
혹시 제가 잘못 알고 있는거라도..해결이 안된다고 하더라도 그동안의 도움을 주신것만해도 너무나 감사드려요
-
송동우
2012.06.20 12:12
회원정보가 db에 저장될때 이메일의 중복확인에 이미 빈 값이 들어가고 그 다음 빈 값이 들어갈 때 같은 것으로 처리되어 나타나는 메세지네요
가장 간단하고 편리한 방법이 무엇일까 생각하다가
위에 적용한 것 모두 취소하고
xe - modules - member - skins - default - signup_form.html 열고
line 52 쯤에{@
$oDB = &DB::getInstance();
$query = $oDB->_query('select member_srl from xe_member order by member_srl desc limit 1');
$result = $oDB->_fetch($query);}
<tr style="display:none;">
<th><div>{$lang->email_address} <span class="require">*</span></div></th>
<td>
<input type="text" name="email_address" value="{$result->member_srl}@test.com" class="iText"/><p>{$lang->about_email_address}</p>
</td>
</tr>
여기서 붉은 색이 추가된 내용.......db 설치할 때, prefix를 xe로 하지 않았다면 파란 글씨 xe를 설정한 prefix로 수정
회원가입때 이메일 입력칸은 나타나지 않지만
중복되지 않는 가짜 이메일이 자동 입력되는 방법입니다.
-
박인만
2012.06.20 15:06
드디어..해결..말씀하신대로 지금껏은 모두 취소하고 위에것으로 소스 수정하니까 .. 잘 됩니다. -
박인만
2012.06.20 15:07
무지한 저에게 끝까지 포기하지 않으시고 성심성의껏 가르쳐주신것에 대해서 진심으로 감사하게 생각하며 고맙습니다. -
박인만
2012.06.20 15:09
단 몇줄로 감사인사를 하는것이 마음에 걸리네요. 송동우 전문가님께서 하시는 일에 많은 행운과 행복이 가득하시길 기원합니다.