채택완료

안녕하세요. bbs/login_check.php 에대해 한번더 질문드릴게요..

안녕하세요. bbs/login_check.php 에대해 한번더 질문드릴게요..

$mb = get_member($mb_id); 이부분이 mb가 회원정보를 가져오는데..

로그인을 하였는지 못했는지 조건문만 걸면되는데요

if(mb =! null) mb가 널이아닐떄 로그인성공

이렇게 하는방법밖에 없나여? 혹시 괞찬은 함수없는지.. 조언좀 부탁드립니다

아니면 로그인실패시 세션이나 쿠키가 생성안되니 

로그인성공 조건을 세션이나 쿠키로 하는게 좋은가요?

어떻게 해야 보안에 좋을지..궁금합니다

|

답변 2개 / 댓글 6개

채택된 답변
+20 포인트

로그인 성공여부를 login_check.php를 포함한 모든 페이지에서 하는 것을 원하시나요? login_check.php에서 로그인 처리를 성공했을때를 확인하는것을 원하시나요?

전자의 경우

Copy
if(isset($member['mb_id'])) echo "로그인 성공";

else echo "로그인 실패";

이런식으로 처리하실 수 있습니다. (common.php를 불러오는 그누보드 관련 php에서만 가능합니다. 즉, _common.php include 하는 구문 아래에 있어야 합니다.)

후자의 경우

그누보드 순정 기준 login_check.php의 17번째 줄

Copy
if (!$mb['mb_id'] || !check_password($mb_password, $mb['mb_password'])) {

이 조건문이 로그인 처리를 성공했을때를 의미합니다.

답변에 대한 댓글 5개

우선감사드립니다.
궁금한게 있는데요..

$message ="";

if(isset($member['mb_id'])) {
$message="성공";
}else{
$message="실패";
}

$arr = array('message'=>$message);
echo json_encode($arr);

로그인 조건문을걸고 성공시 $message 에 문자열을넣으면 json으로 반환이되야하는데..
아예 문자열이 안넘어가네요.. 조건문에 무슨문제라도 있는건지.. 잘모르겠습니다
조건문을 없애면 잘 반환이 되긴하는데.. 무슨이유인지..
@rqwr if 아니면 else 에서는 $message 값이 설정되어야 하는데 둘 다 안 된다는 것은 에러가 난 모양입니다. common.php는 불러오셨나요?
네 루트에서 별도의 폴더를만들고 작업중이에요
include_once('../bbs/_common.php');
@rqwr error_reporting 속성을 켜시고 어떤 부분에서 에러가 나는지 한번 확인해보시기 바랍니다. 저 부분에는 문제가 없어보입니다.
해결했습니다. 감사합니다

$is_member 로 체크하면 이미 로그인 중인지 게스트인지 체크되지 않을까요

답변에 대한 댓글 1개

답변을 작성하려면 로그인이 필요합니다.