이메일로 로그인하기 2 정보
이메일로 로그인하기 2본문
mb_id 대신에 mb_email을 이용해서 로그인하는 방법입니다.
기존 스킨과 호환되도록, 스킨은 건들지 않고 코어만 살짝 수정하도록 했습니다.
이전에 올렸던 팁에서 이메일 형식이 아닌 아이디를 입력했을 때 에러메세지가 달라지도록 약간 수정했습니다.
/bbs/login_check.php 의 맨 첫부분을 보면 다음과 같습니다.
$mb_id = $_POST[mb_id];
$mb_password = $_POST[mb_password];
이것을 다음과 같이 수정합니다.
// 이메일 형식 확인
if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $_POST[mb_id])) alert("아이디 대신 이메일을 입력해주세요.\\n\\n예: example@".$_SERVER[HTTP_HOST]);
// 이메일이 일치하는 회원 mb_id 가져오기
$temp = sql_fetch("select `mb_id` from `$g4[member_table]` where `mb_email` = '$_POST[mb_id]'");
// 없으면 에러
if(!$temp) alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
$mb_id = $temp[mb_id];
$mb_password = $_POST[mb_password];
unset($temp); // 임시변수 삭제
기존 스킨과 호환되도록, 스킨은 건들지 않고 코어만 살짝 수정하도록 했습니다.
이전에 올렸던 팁에서 이메일 형식이 아닌 아이디를 입력했을 때 에러메세지가 달라지도록 약간 수정했습니다.
/bbs/login_check.php 의 맨 첫부분을 보면 다음과 같습니다.
$mb_id = $_POST[mb_id];
$mb_password = $_POST[mb_password];
이것을 다음과 같이 수정합니다.
// 이메일 형식 확인
if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $_POST[mb_id])) alert("아이디 대신 이메일을 입력해주세요.\\n\\n예: example@".$_SERVER[HTTP_HOST]);
// 이메일이 일치하는 회원 mb_id 가져오기
$temp = sql_fetch("select `mb_id` from `$g4[member_table]` where `mb_email` = '$_POST[mb_id]'");
// 없으면 에러
if(!$temp) alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
$mb_id = $temp[mb_id];
$mb_password = $_POST[mb_password];
unset($temp); // 임시변수 삭제
추천
7
7
댓글 15개
앗!! 지난번 팁도 아직 적용 못해봤는데.. ㅎㅎㅎ; 감사합니다.
크롬에서 글쓰기 안되서 헤매다 말러님이 질답게시판에 단 리플보고 해결했네요. 감사합니다^ㄹ^;;
그누보드에 오픈아이디도 연동된다면 좋겠네요 *.*
그누보드에 오픈아이디도 연동된다면 좋겠네요 *.*
제사이트는 그누보드에 오픈아이디 랑 연결되었습니다.
이런 팁 너무 좋아요.
회원가입도 이메일, 패스워드, 이름만 입력받는 방법이 없을까요?
감사합니다.
회원가입도 이메일, 패스워드, 이름만 입력받는 방법이 없을까요?
감사합니다.
아 정말 팁이라고 할만한 그런 게시물이 올라왔네요.^^*
감사합니다.
감사합니다.
좋은 팁 감사합니다~ 순간 머리속이 번뜩이네요~!!!
회원가입시에도 mb_id를 안넣고 이메일로만 회원가입 받으려면 어떻게 해야될까요?
저는 가입할 때 mb_id를 랜덤으로 생성시켜주는 방식을 사용하고 있습니다.
$mb_id = $_POST[mb_id];
$mb_password = $_POST[mb_password];
대신에
$mb_id = $_POST[mb_email];
$mb_password = $_POST[mb_password];
하면 않될까요?
$mb_password = $_POST[mb_password];
대신에
$mb_id = $_POST[mb_email];
$mb_password = $_POST[mb_password];
하면 않될까요?
안됩니다
감사합니다.
감사합니다.
이메일로 로그인하기2
이메일로 로그인하기 2
이 팁을 찾은 덕분에 한숨 돌렸습니다. 감사합니다...