비슷한 제목의 게시물을 보았습니다. checking status of session with session id 및 How to tell if a session is active?이지만, 달성하려는 내용과 관련이없는 것으로 보입니다.세션 ID를 통해 세션 상태 확인
나는 사용자가 로그인했는지 여부에 관계없이 $_SESSION
및 session_id()
을 사용하여 카트를 추가 할 수 있습니다.
장바구니에 항목을 추가하면 세션 ID가있는 장바구니 표에 항목이 추가됩니다.
간단히 말하자면 세션 ID 목록에서 어떤 세션이 활성 상태이고 어떤 세션이 crontab에서 사용 중인지 알아 내면 데이터베이스의 장바구니 표에서 중복 항목을 제거 할 수 있습니까?
세션에서 활성 및 비활성을 모두 원하십니까? –
글쎄 기술적으로 나는 DB에서 제거 할 수 있도록 어떤 것들이 비활성 상태인지 알 필요가 있습니다. – PavKR
PHP에서 활성/만료 된 세션 목록을 얻을 수 있는지 확실하지 않습니다. 그러나 이것은 당신이 할 수있는 것입니다 : 일단 장바구니가 초기화되면, 세션 ID를 테이블에 저장하십시오. (당신이 이미 그렇게하고있는 것 같네요) ** 타임 스탬프로 ** (아직 그렇게하지 않은 것 같습니다). 사용자가 페이지를로드 할 때마다 타임 스탬프가 업데이트됩니다 (사용자가 페이지에서 많은 시간을 보내는 경우 ajax 호출을 보내 세션을 정기적으로 새로 고침 할 수 있습니다). 이전 세션에 대한 임계 값 (예 : 2 시간)을 정의한 다음이 임계 값보다 오래된 세션 (아마도 cron 작업 사용)을 데이터베이스에서 삭제하십시오. 그게 작동하는지 알려주세요. – Krumia