채택완료

$member['mb_id'] 는 로그인 된 상태에서 어느 페이지에서나 사용 가능할까요?

2023-06-11 (일) 20:20:24 2,299

로그인 한 상태에서 $member['mb_id'] 변수를 사용 하는데

widget 폴더의 widget.php 파일에서 사용을 하니 echo 하여도 출력이 되지 않는데

혹시 widget 파일에서는 사용이 안되는것인지...ㅠㅠ

$member['mb_id'] 변수를 쓰기 전에

로그인 체크를 하기 위해서

if($is_member){

      로그인 중..

} else {

      로그인 하세요..

}

이렇게 사용을 했는데 $is_member 도 widget.php 파일에서

안되는것 같구요..

왜 이럴까요..

|

답변 4개 / 댓글 3개

채택된 답변
+20 포인트
2023-06-11 (일) 20:35:08

위젯파일 에서 작동안하는게 

최상단에 

./_common.php 로 인크르드 했나요?

답변에 대한 댓글 3개

2023-06-11 (일) 20:48:41
네네

include_once('./_common.php');

하였는데도 나오지가 않네요ㅠㅠ

위젯 파일(widget.php)은 /theme/BS4-Basic/widget/wr-rolling 폴더에 있습니다.
저거 위젯 함수에다가 global $member, $is_member; 로 선언 해보세요
2023-06-12 (월) 04:06:23
감사합니다 ^^

말씀 해주신대로
widget.php 상단에

include_once('./_common.php');
global $member, $is_member;

하니 원하는 결과물이 나오네요.
감사합니다.
Copy
global $member, $is_member;
if($is_member) {
    echo $member['mb_id'];
} else {
    echo "로그인 하세요..";
}

PS. PHP 변수 효력범위 키워드로 구글링해서 공부해 보세요.

2023-06-11 (일) 23:25:00

include_once를 하는곳이 widget 파일안에 있어야 실행이 되겠지요

만약에 실행하는 주소와 include_once를 하는 곳이 같아야 실행이 될거에요

./로 시작한다면 같은경로에서 출발하는 개념이니까요

고로 같은경로에 해당파일이 없다면 /에서부터 절대경로를 찾아가는 방식 (뭐 거의 /.common.php이면 될것 같네요)으로 하면정상적으로 $member변수를 사용할 수 있을것 같네요

include_once('./_common.php');  이 파일 경로가 맞는지 잘 확인을 하셔야 겠어요~

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