mb_id 필드 중복된 ID 저장가능하게 하려면? 정보
mb_id 필드 중복된 ID 저장가능하게 하려면?본문
회사내 인트라넷을 그누보드4+phpmail로 구축하고 있는데요.
그누4의 g4_member테이블의 mb_id 필드는 중복된 값이 저장되지 않더군요.
당연히 abc라는 아이디가 동일하게 저장되면 안될테니 그렇겠지만...
구축 하고 있는 인트라넷 계정의 로직은 ID,P/W,Domain 으로 저장하고 로그인시 3가지의 값을 비교하기 때문에 ID 부분에 동일한 값을 ID를 저장하려고 합니다.
ID P/W DOMAIN
abc 123 abc.com
abc 123 zxy.com
위 처럼 ID는 같아도 뒤의 도메인이 다르기 때문에 다른 계정으로 봐야겠지요.
(*** 개인정보보호를 위한 이메일주소 노출방지 *** 은 다른 계정)
질문의 요지는...
mb_id 필드에 같은 값을 저장하게하려면 mysql에서 어떻게 설정 또는 변경해야하는지요.
댓글 전체
현재 배포중인 최신 버전의 경우 번호(mb_no) 자동증가형 이므로 DB상에선 수정할것이 없다고 보여 집니다.
DROP TABLE IF EXISTS `$g4[member_table]`;
CREATE TABLE `$g4[member_table]` (
`mb_no` int(11) NOT NULL auto_increment,
`mb_id` varchar(255) NOT NULL default '',
...생략
수정할곳은 회원가입시 아이디 중복 체크부분을 없애야 할듯 보입니다.
bbs/register_form_update.php
if ($w == "")
{
$mb = get_member($mb_id);
if ($mb[mb_id])
alert("이미 가입한 아이디입니다.");
회원가입폼스킨/register_form.skin.php
// 회원아이디 검사
if (f.w.value == "") {
reg_mb_id_check();
등을 수정해야하며 이렇게 수정하더라도 중복 아이디가 나올경우 여러가지 문제점이 발생 됩니다.
쪽지등의 회원 아이디로 구동되는 모든 파일에서 회원번호 등으로 수정을 해야만 할겁니다.
DROP TABLE IF EXISTS `$g4[member_table]`;
CREATE TABLE `$g4[member_table]` (
`mb_no` int(11) NOT NULL auto_increment,
`mb_id` varchar(255) NOT NULL default '',
...생략
수정할곳은 회원가입시 아이디 중복 체크부분을 없애야 할듯 보입니다.
bbs/register_form_update.php
if ($w == "")
{
$mb = get_member($mb_id);
if ($mb[mb_id])
alert("이미 가입한 아이디입니다.");
회원가입폼스킨/register_form.skin.php
// 회원아이디 검사
if (f.w.value == "") {
reg_mb_id_check();
등을 수정해야하며 이렇게 수정하더라도 중복 아이디가 나올경우 여러가지 문제점이 발생 됩니다.
쪽지등의 회원 아이디로 구동되는 모든 파일에서 회원번호 등으로 수정을 해야만 할겁니다.
현재 그누보드(게시판및 기타부속 플러그인)에서 회원 아이디로 모든 결과 를 처리 하므로
회원번호 개념으로 뒤집지 않으면 중복 아이디의 사용은 불가능 할듯 보입니다.
회원번호 개념으로 뒤집지 않으면 중복 아이디의 사용은 불가능 할듯 보입니다.
멤버 테이블에 도메인 필드를 설정하시고.
모든 id 처리하는곳에서 도메인도 반드시 비교 처리하도록 하시면 가능하시리라 생각됩니다.
모든 입력/수정/삭제에서 id만으로는 안되고 반드시 id && domain을 조건으로 가지고 다니면 되겠죠.
원본프로그램을 많이 손봐야할것이므로... 그리 좋은 방법은 아니라 생각됩니다.
모든 id 처리하는곳에서 도메인도 반드시 비교 처리하도록 하시면 가능하시리라 생각됩니다.
모든 입력/수정/삭제에서 id만으로는 안되고 반드시 id && domain을 조건으로 가지고 다니면 되겠죠.
원본프로그램을 많이 손봐야할것이므로... 그리 좋은 방법은 아니라 생각됩니다.
ID가 중복됨에 있어 문제되는 부분은 수정할 예정입니다.
다만, 그누4 회원가입 폼으로 가입처리하는게 아닌 MySQL에서 직접 중복ID를 삽입하려고 하면 아래와 같은 메세지가 뜨면서 저장이 되지 않습니다.
ERROR 1062 (23000): Duplicate entry '중복ID' for key 2
MySQL에 테이블이 생성되면서 중복된 값은 저장되지 못하도록 설정되어 있는 것 같은데, 이를 저장할 수 있게끔 g4_member 테이블의 설정을 바꿀 수 있는지요.
다만, 그누4 회원가입 폼으로 가입처리하는게 아닌 MySQL에서 직접 중복ID를 삽입하려고 하면 아래와 같은 메세지가 뜨면서 저장이 되지 않습니다.
ERROR 1062 (23000): Duplicate entry '중복ID' for key 2
MySQL에 테이블이 생성되면서 중복된 값은 저장되지 못하도록 설정되어 있는 것 같은데, 이를 저장할 수 있게끔 g4_member 테이블의 설정을 바꿀 수 있는지요.
mb_id에 'UNIQUE KEY' 설정되어 있어서 db에 삽입이 안되고 있었네요.
mb_id에 UNIQUE KEY 설정 해제하고 해결했습니다.
헐랭이님이나 root님께서 말씀하셨던 부분에 대해서는 그누4를 수정해서 사용하려고 합니다.
도움주셔서 감사합니다.
mb_id에 UNIQUE KEY 설정 해제하고 해결했습니다.
헐랭이님이나 root님께서 말씀하셨던 부분에 대해서는 그누4를 수정해서 사용하려고 합니다.
도움주셔서 감사합니다.