마지막 로그인 날짜.... 정보
마지막 로그인 날짜....
본문
로그아웃할때 쿼리를 날려서 마지막 접속일을 저장합니다.
그런데 만약에 로그아웃하지 않고 브라우져 닫아버리면
쿼리가 안날라갈텐데...
어떻게 해야 로그아웃 눌러지 않고 브라우져 닫아도
최종접속일을 쿼리 날릴수 있을까요?
로그인할때 쿠키를 만들어서 유지시킵니다.
댓글 전체
common.php 의 256줄 부근 (4.9.00)을 참조하십시오.
// 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음
// 해당 회원의 접근일시와 IP 를 저장
$sql = " update {$g4['member_table']} set mb_today_login = '{$g4['time_ymdhis']}', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
// 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음
// 해당 회원의 접근일시와 IP 를 저장
$sql = " update {$g4['member_table']} set mb_today_login = '{$g4['time_ymdhis']}', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
그 소스는 로그인할때 쿼리를 날리는거 같은데요...
저는 로그아웃할때 쿼리를 날려야 하거든요. 그리고 그누보드 소스아니라서요.
일반적으로 프로그래밍할때 어떤식으로 하는지 알고싶습니다.
디비테이블에 필드를 추가하지 않구요.
아무튼 답변 감사합니다.
저는 로그아웃할때 쿼리를 날려야 하거든요. 그리고 그누보드 소스아니라서요.
일반적으로 프로그래밍할때 어떤식으로 하는지 알고싶습니다.
디비테이블에 필드를 추가하지 않구요.
아무튼 답변 감사합니다.
bbs/logout.php의 상단에 세션 해제 전에 넣어 주시면 됩니다.....^^
에고 죄송합니다 질문을 어리버리하게 해서리...
세션을 해제해버리면 쿼리가 오류나거든요.
// 최근방문일 저장하자
<?
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
?>
<?
include ("../wizboard/func/register_globals_on.php");
include ("../config/db_info.php");
include ("../config/db_connect.php");
if (is_file("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi")){
unlink("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi");
setcookie("MEMBER_NAME", "", 0, "/");
setcookie("MEMBER_PWD", "", 0, "/");
setcookie("MEMBER_ID", "", 0, "/");
setcookie("MEMBER_EMAIL", "", 0, "/");
setcookie("MEMBER_URL", "", 0, "/");
setcookie("ADULT_COOKIE", "", 0, "/");
setcookie("MEMBER_Grade", "", 0, "/");
setcookie("MEMBER_BLOG", "", 0, "/");
}else if(!$_COOKIE[MEMBER_ID]){
ECHO "<script language=javascript>
window.alert('\\n\\n손님께서는 로그인되어있지 않습니다.\\n\\n');
history.go(-1);
</script>";
exit;
}
ECHO "<script language=javascript>
window.alert('\\n로그아웃 되었습니다. \\n\\n 좋은 시간 되셨나요?');
</script>";
// 최근방문일 저장하자
$memberstr = "SELECT ID FROM wizMembers WHERE ID='$HTTP_SESSION_VARS[CurrentID]'";
$memberqry= mysql_query($memberstr, $DB_CONNECT);
$list = mysql_fetch_array($memberqry);
$CurrentID = $list[ID];
$LoginDate = time();
mysql_query("UPDATE wizMembers SET LoginDate = '$LoginDate' WHERE ID='$CurrentID'",$DB_CONNECT) or die(mysql_error());
echo "<META http-equiv=\"refresh\" content=\"0;url=$url\"></HTML>";
exit;
?>
세션을 해제해버리면 쿼리가 오류나거든요.
// 최근방문일 저장하자
<?
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
?>
<?
include ("../wizboard/func/register_globals_on.php");
include ("../config/db_info.php");
include ("../config/db_connect.php");
if (is_file("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi")){
unlink("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi");
setcookie("MEMBER_NAME", "", 0, "/");
setcookie("MEMBER_PWD", "", 0, "/");
setcookie("MEMBER_ID", "", 0, "/");
setcookie("MEMBER_EMAIL", "", 0, "/");
setcookie("MEMBER_URL", "", 0, "/");
setcookie("ADULT_COOKIE", "", 0, "/");
setcookie("MEMBER_Grade", "", 0, "/");
setcookie("MEMBER_BLOG", "", 0, "/");
}else if(!$_COOKIE[MEMBER_ID]){
ECHO "<script language=javascript>
window.alert('\\n\\n손님께서는 로그인되어있지 않습니다.\\n\\n');
history.go(-1);
</script>";
exit;
}
ECHO "<script language=javascript>
window.alert('\\n로그아웃 되었습니다. \\n\\n 좋은 시간 되셨나요?');
</script>";
// 최근방문일 저장하자
$memberstr = "SELECT ID FROM wizMembers WHERE ID='$HTTP_SESSION_VARS[CurrentID]'";
$memberqry= mysql_query($memberstr, $DB_CONNECT);
$list = mysql_fetch_array($memberqry);
$CurrentID = $list[ID];
$LoginDate = time();
mysql_query("UPDATE wizMembers SET LoginDate = '$LoginDate' WHERE ID='$CurrentID'",$DB_CONNECT) or die(mysql_error());
echo "<META http-equiv=\"refresh\" content=\"0;url=$url\"></HTML>";
exit;
?>
위즈보드도 예전에 본것이라......에궁...
아마도 아래의 형식처럼 구성되어야 할듯 합니다.
// 최근방문일 저장하자
<?
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
?>
<?
include ("../wizboard/func/register_globals_on.php");
include ("../config/db_info.php");
include ("../config/db_connect.php");
if (is_file("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi")){
// 최근방문일 저장하자( 이분의 아이디등 처리는 잘 모름)
$LoginDate = time();
mysql_query("UPDATE wizMembers SET LoginDate = '$LoginDate' WHERE ID='$HTTP_SESSION_VARS[CurrentID]'",$DB_CONNECT) or die(mysql_error());
unlink("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi");
setcookie("MEMBER_NAME", "", 0, "/");
setcookie("MEMBER_PWD", "", 0, "/");
setcookie("MEMBER_ID", "", 0, "/");
setcookie("MEMBER_EMAIL", "", 0, "/");
setcookie("MEMBER_URL", "", 0, "/");
setcookie("ADULT_COOKIE", "", 0, "/");
setcookie("MEMBER_Grade", "", 0, "/");
setcookie("MEMBER_BLOG", "", 0, "/");
}else if(!$_COOKIE[MEMBER_ID]){
ECHO "<script language=javascript>
window.alert('\\n\\n손님께서는 로그인되어있지 않습니다.\\n\\n');
history.go(-1);
</script>";
exit;
}
ECHO "<script language=javascript>
window.alert('\\n로그아웃 되었습니다. \\n\\n 좋은 시간 되셨나요?');
</script>";
echo "<META http-equiv=\"refresh\" content=\"0;url=$url\"></HTML>";
exit;
?>
아마도 아래의 형식처럼 구성되어야 할듯 합니다.
// 최근방문일 저장하자
<?
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
?>
<?
include ("../wizboard/func/register_globals_on.php");
include ("../config/db_info.php");
include ("../config/db_connect.php");
if (is_file("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi")){
// 최근방문일 저장하자( 이분의 아이디등 처리는 잘 모름)
$LoginDate = time();
mysql_query("UPDATE wizMembers SET LoginDate = '$LoginDate' WHERE ID='$HTTP_SESSION_VARS[CurrentID]'",$DB_CONNECT) or die(mysql_error());
unlink("../wizmember_tmp/login_user/$HTTP_COOKIE_VARS[MEMBER_ID].cgi");
setcookie("MEMBER_NAME", "", 0, "/");
setcookie("MEMBER_PWD", "", 0, "/");
setcookie("MEMBER_ID", "", 0, "/");
setcookie("MEMBER_EMAIL", "", 0, "/");
setcookie("MEMBER_URL", "", 0, "/");
setcookie("ADULT_COOKIE", "", 0, "/");
setcookie("MEMBER_Grade", "", 0, "/");
setcookie("MEMBER_BLOG", "", 0, "/");
}else if(!$_COOKIE[MEMBER_ID]){
ECHO "<script language=javascript>
window.alert('\\n\\n손님께서는 로그인되어있지 않습니다.\\n\\n');
history.go(-1);
</script>";
exit;
}
ECHO "<script language=javascript>
window.alert('\\n로그아웃 되었습니다. \\n\\n 좋은 시간 되셨나요?');
</script>";
echo "<META http-equiv=\"refresh\" content=\"0;url=$url\"></HTML>";
exit;
?>
답변 고맙습니다.
올린 파일은 logout.php 인데.
로그아웃을 클릭했을때만 실행되는 건데....
로그아웃을 클릭하지 않고 브라우져를 닫아버려도 최종접속일이 저장될까요?
일단 해보긴 하겠지만.....
올린 파일은 logout.php 인데.
로그아웃을 클릭했을때만 실행되는 건데....
로그아웃을 클릭하지 않고 브라우져를 닫아버려도 최종접속일이 저장될까요?
일단 해보긴 하겠지만.....
아니라면
그누보드로 말하자면 tail.sub.php에 해당하는 부분의 최하단에 넣어둔다면
최종적으로 열어본 페이지에서 시간이 업 되겠지요.......
이 방법이 아니라면 ......
그누보드로 말하자면 tail.sub.php에 해당하는 부분의 최하단에 넣어둔다면
최종적으로 열어본 페이지에서 시간이 업 되겠지요.......
이 방법이 아니라면 ......
해결했습니다.
접속날짜를 저장하는 필드가 하나이므로
접속할때 기존에 저장되어 있는 접속날짜를 뽑아서 세션으로 만들고
필드에는 다시 현재접속한 날짜를 저장했습니다.
최근접속일을 출력할때는 그 세션 뿌려줍니다.
그리고 로그아웃할때 세션을 지워줍니다.
<?session_start();?>
// 세션만들자 ...최종 접속일
$Last_login = date("Y.m.d H:i",$CurrentLoginDate);
session_register("SS_LAST_LOGIN");
$SS_LAST_LOGIN = $Last_login;
최근방문일 : <?=$HTTP_SESSION_VARS[SS_LAST_LOGIN]?>
//세션 삭제
$_SESSION = array();
session_destroy();
접속날짜를 저장하는 필드가 하나이므로
접속할때 기존에 저장되어 있는 접속날짜를 뽑아서 세션으로 만들고
필드에는 다시 현재접속한 날짜를 저장했습니다.
최근접속일을 출력할때는 그 세션 뿌려줍니다.
그리고 로그아웃할때 세션을 지워줍니다.
<?session_start();?>
// 세션만들자 ...최종 접속일
$Last_login = date("Y.m.d H:i",$CurrentLoginDate);
session_register("SS_LAST_LOGIN");
$SS_LAST_LOGIN = $Last_login;
최근방문일 : <?=$HTTP_SESSION_VARS[SS_LAST_LOGIN]?>
//세션 삭제
$_SESSION = array();
session_destroy();