2010-02-25 4 views
0

내가 특정 세션이 만료 될 예정 후에 쿼리를 실행하는 PHP 코드를 필요로하는 등의실행 쿼리가 만료

if(!isset($_SESSION['test'])) query; 

뭔가를 만료하지만 세션 작업 않습니다.

답변

0

세션이 같은 만료되면 난 당신이 데이터베이스에 세션을 만든 날짜를 저장하고 확인하는 것이 좋습니다 것입니다 :

if($db->checkExpiredSession('test') == true) { 
    $db->query('...'); 
} 

그냥 생각.

1

문제로 실행할 수 있습니다 : 세션 그냥 그 자체에 의해 을 만료되지 않습니다는 세션 는 사용자가 너무 오래 기다렸다 경우 다음 페이지로드에 만료됩니다. 요청 (사용자 동작) 사이에 브라우저와 서버간에 통신이 없기 때문에 서버는 예를 들어, 사용자는 방금 브라우저를 닫았습니다 (또는 웹 사이트가 열려있는 동안 요리를하고 있습니다).

이 (다음 pageload가있는 한) 다음 pageload에 만료 되었으면 알려주므로 코드에 문제가없는 것으로 보입니다.

정말로 일 경우 세션이 만료 된 후에 쿼리가 실행됩니다. 세션을 데이터베이스에 저장하고 쿼리를 실행하기 위해 각 페이지로드에 "정리"스크립트를 실행해야합니다. 만료 된 세션을 제거하십시오. (예 : 'lastUserAction'을 저장하고 세션 제한값과 비교하십시오)