PDA

View Full Version : Cho mình hỏi về session trong php



tiencntt94
24-07-2015, 17:09
Mình đang làm back-end, phần đăng nhập admin, mình muốn sau khi đăng nhập vào nhưng sang trình duyệt khác nó trở lại về trang đăng nhập thì làm sao ạ?

streampow
24-07-2015, 20:43
Cũng bình thường bạn à, để vậy đi...thường thì cookie lưu session id. Để truy cập vào session thì dựa vào session id lấy từ cookie. Nếu trình duyệt khác, chưa từng lần nào đăng nhập thì sẽ không có cookie hoặc cookie hết hạn thì sẽ bắt đăng nhập.
Bạn có thể làm chức năng ghi nhớ đăng nhập ( nếu muốn với cùng 1 người dùng mà các trình duyệt khác nhau có thể truy cập mà không cần
lần đầu đăng nhập ) - bạn có thể tạo 1 bảng trong csdl lưu trữ IP của người dùng - thêm 1 trường nữa là logged nhận giá trị 0 - 1, nếu 1 là đã đăng nhập ( đã ghi nhớ đăng nhập ). Như thế, với trình duyệt khác, chỉ cần kiểm tra trùng IP và đã logged thì không cần đăng nhập.
Nhưng đây chỉ là cách để đạt yêu cầu trên, trong thực tế không nên làm.

tiencntt94
24-07-2015, 20:51
ví dụ đã đăng nhập vào admin panel ở chrome rồi, nhưng muốn sang firefox vào trang admin thì nó không vào luôn trang admin panel ấy.

streampow
28-07-2015, 22:12
Như thế - bạn cần đặt chức năng ghi nhớ ( logged )... Tạo 1 trường logged lưu vào cơ sở dữ liệu - nếu có ghi nhớ ( giá trị của nó là 1 - mặc định là 0)- trùng IP và user agen thì coi như là đã đăng nhập, ở trình duyệt firefox với trường hợp chưa có cookie - thì kiểm tra điều kiện trên. Trong trường hợp đã có cookie thì kiểm tra dữ liệu trong session như bình thường.