우리는 누가 온라인 또는 시스템에 로그인 확인할 수 있습니다. 이것은 또한 현재 사이트의 바닥글에서 또는 로그인 시스템의 적극적인 구성원으로 표시됩니다. 이것은 모든 사이트의 로그인 시스템에 통합되어 있습니다. 우리는 이러한 시스템이 어떻게 작동하는지 배우고 현장에서 적극적인 회원의 이름 (또는 사용자 ID를)을 표시하려고합니다. 이것은 회원 자신의 사용자 ID와 비밀 번호로 로그인하는 시스템의 일부입니다.
당신이 로그인 후 회원 세션 내용을 이해할 수 있듯이 클라이언트 끝에 서버측에 저장되지 않습니다. 그래서 서버에서 정보를 받고 대본이 루트 액세스 권한을 갖고 있지 않습니다로서 불가능합니다. 그래서 우리가 여기에서 우리가이 전용으로 찍은 우리는이 스크립트의 여러 단계를 배울 수있게 몇 가지 절차를 로그인이 누군지 알고 할 하나의 병렬 시스템을 유지하기 위해 노력할 것입니다.
테이블에 로그인 정보를 저장
회원이 성공적으로 loges마다 독점적으로 이러한 목적으로 만들어진 우리의 테이블에 레코드를 추가하여 세부 사항을 저장합니다. 우리는 plus_login로 테이블을 부릅니다. 그것은 필드 이름 아이디 내부의 세션 ID를 저장하는 5 개의 입력란이 회원이 필드 이름 TM 및 상태에 로그 인한 시간, 로그 인한했습니다 어디에서 시스템의 구성원, IP 주소 로그인 OFF로 설정됩니다 어떤의 저장 사용자 ID를 usrid있다 회원은 로그아웃 우리는 기본적으로 그것을하도록 설정합니다 일단. 그래서 일단 로그 인한 회원은 기본적으로 상태가 On으로 설정되어지고 레코드를 삽입하여 이러한 모든 정보를 저장합니다. 테이블의 구조 (SQL 덤프)이 튜토리얼의 끝에 다운로드 zip 파일 안에 있습니다.
회원의 상태를 업데이 트하기
우리는 On으로 상태를 설정한 우리 plus_login 테이블에 저장되어있는 상태가되어 있습니다. 상태와 함께 우리도의 시간을 저장하고 지금 우리가이 상태를 업데이 트하고 회원이 회원 영역 내에 열어서에 새 시간 (필드 이름 TM)를 업데이 트해야 로그인. 우리는 페이지 bottom.php 내면의 새로운 시간과 상태 plus_table를 업데이 트하는 코드를 유지했습니다. 이 페이지 bottom.php가 끝날 때 모든 페이지에 의해 호출됩니다. 이 bottom.php 페이지는 세가지 직업을 않습니다. 첫째 그것은 ON으로 새로운 시간과 로그 인한 사용자 및 설정 상태의 상태를 업데이 트합니다. 다음은이 첫 번째 단계의 코드입니다.
$ TM = 날짜 ( "Ymd H : I : S");
$ Q = mysql_query ( "업데이트 plus_login 세트 상태 = 'ON', TM = '$ TM'ID = '$ 세션 [ID]'");
둘째로 그것은 지난 10 분 이내 사이트와 상호 작용하지 않은 모든 회원 OFF로 상태를 표시합니다. (그건 우리가 ON 상태와 회원의 모든 페이지 호출에 대한 새로운 시간을 만드는 것입니다 이유입니다.) 다음은이 단계에 대한 bottom.php 내부의 코드입니다.
간격 = 10, $, / / 간격 값을 변경할 수 있습니다, 여기는 분이면됩니다.
/ / 우리는 현재 10 분 전에 시간을 좀 볼까요. / /
$ TM = 날짜 ( "Ymd H : I : S", mktime (날짜 ( "H"), 날짜 ( "I") - $ 격차, 날짜 ( "S"), 날짜 ( "M"), 날짜 ( " D "), 날짜 ("Y ")));
다음은이 작업을 수행하는 쿼리입니다
$ UT = mysql_query ( "업데이트 plus_login 세트 상태 = 'OFF'어디 TM < '$ TM'이 ');
세 번째 단계에서는 그것은 시간이 지난 10 분 이내이며, 상태가 On으로 설정되어있는 회원 로그인 ID를 수집합니다. 그들은 우리의 회원 로그인 또는 사이트에서 액티브있다는 것이죠. 하나는 사이트 섹션 (아래로 스크롤)에 적극적인 모습 전시 볼 수 코드
사용자가 로그온하면 어떻게됩니까
우리는 OFF로 시스템 상태를 변경하고 세션을 파괴. 우리는 로그아웃 페이지 안에이 코드를 유지했습니다.
$ Q = mysql_query ( "업데이트 plus_login 세트 상태 = 'OFF'위치 ID = '$ 세션 [ID]'");
회원이 10 분 이상 동안 상호 작용하지 않을 때 어떻게됩니까?
당신은 모든 페이지가 열립니다 및 페이지 bottom.php 페이지를 호출하는 경우 자신의 TM (필드)은 현재 미만 십분이면 다음 모든 사용자가 상태를 OFF로 변경됩니다 때마다 볼 수 있습니다. 다른 회원의 모든 페이지를 개설되지 않으면 그럼 상태를 OFF로 변경되지 않습니다. 만약이 처리한다라고 생각한다면 당신은 10 분마다 한 번씩 상태 업데이트 부분을 실행 한 스케줄러 (윈도 서버) 또는를 cron을 사용할 수 있습니다. 세 번째 단계에서 위의 쿼리를 확인합니다.
사이트에서 운영중인 사람 표시
우린 너무 다른 페이지에서이 페이지가 호출 수 bottom.php 파일 내부 코드를 유지했습니다. 우리가 상태 필드 (TM)는 현재 발사 10 분 이상 켜져와 시간이다하는 사용자 ID를 수집하는 한가지 간단한 쿼리를 사용하여 어디에이 페이지 내부에 코드를 볼 수 있습니다. 쿼리는 여기입니다.
$ Qt는 = mysql_query ( "plus_login에서 선택한 사용자 ID 어디 TM> '$ TM'및 상태 = 'ON'");
나머지는 사용자 ID의 간단한 표시이고, 당신은 우리의 데이터 표시 자습서에 표시하는 방법을 볼 수 있습니다.
그게 다야, zip 파일을 다운로드 여기를 온라인으로 코드가 함께합니다.













































