2010-05-25 21 views
5

Tôi cần hệ thống tự động đăng xuất trong ứng dụng của mình.Làm thế nào để đạt được tự động đăng xuất trong php?

nếu người dùng không sử dụng ứng dụng hơn ba mươi phút. Họ sẽ đăng nhập lại.

đây là những gì tôi cần. lastAccessTime sẽ ít hơn 30 phút. nếu lastAccessTime vượt quá 30 phút, người dùng phải đăng nhập lại bằng thông tin đăng nhập của họ.

(hiện tại tôi tự động log off sử dụng lĩnh vực Lastaccesstime trong bảng người dùng của tôi (cơ sở dữ liệu) và so sánh lastaccesstime với thời điểm hiện tại cho mỗi tải trang, tôi không nghĩ rằng đây là cách đúng đắn.)

cách nào để Hoàn thành? Cảm ơn trước.

Trả lời

7

Bạn nên xác định tuổi thọ PHIÊN và chỉ cần sử dụng $_SESSION để xem nếu người dùng đang đăng nhập:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes 
+0

Sẽ không mà cũng log off người dùng hoạt động sau 30 phút ? –

+4

Không, mỗi khi người dùng đang hoạt động truy cập trang, cookie sẽ được đặt lại. – Konerak

+2

Không, mỗi yêu cầu đặt lại cookie và do đó khởi động lại bộ hẹn giờ. – Amadan

3

Nếu bạn đang sử dụng cookie để giữ cho người dùng đăng nhập, chỉ cần đặt một TTL đầy đủ cho nó .

Trong một thời gian hết hạn 30 phút, trong lần đăng nhập thiết lập cookie theo cách này:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30); 

Ngoài ra, bạn có thể sử dụng session_set_cookie_params

session_set_cookie_params(60 * 30); // takes lifetime as first argument 
Các vấn đề liên quan