2010-01-25 22 views
5

tôi được sử dụng để đặt tên cho các biến session của tôi cách "bình thường", kinda giống như khi tôi muốn theo dõi các chi tiết người dùng, tôi đặt tên cho chúng:thực hành tốt nhất trong việc đặt tên các biến session

  • $_SESSION['username']
  • $_SESSION['email']
  • $_SESSION['id']

tôi lo lắng rằng họ có thể mâu thuẫn với dữ liệu phiên khác khi tôi đang duyệt các trang web trong cùng một trình duyệt, hoặc sẽ có không có bất kỳ xung đột nào cả (một khi tôi cố gắng chạy đồng thời hai dự án của mình với cùng một biến phiên, cư trú trong cùng một máy chủ và rõ ràng là mọi thứ trở nên lộn xộn).

Trả lời

11

Tất cả dữ liệu phiên được lưu trữ trên máy chủ. Tất cả các trình duyệt có một cookie tham chiếu đến phiên trên máy chủ. Không thể đặt tên xung đột vì lý do này và cũng vì phạm vi đặt tên cookie là dựa trên miền.

+0

Tôi chỉ muốn viết một câu trả lời điên rồ, nhưng sau đó nhận ra rằng bạn đã nhận nó đúng. Đó là điều anh muốn biết. +1 – Franz

2

xem xét thiết lập chúng trong một mảng con liên quan đến ứng dụng của bạn:

$_SESSION['myapp']['username'] 
$_SESSION['myapp']['id'] 

Đó đáng kể sẽ giúp tránh xung đột.

EDIT: Tôi đã đọc sai câu hỏi của bạn, Luca Matteis có câu trả lời của bạn. Giải pháp của tôi ở trên sẽ là tránh nhiều ứng dụng của bạn trên cùng một xung đột phiên miền.

+0

Tôi đã phạm sai lầm tương tự, nhưng đó không phải là điều anh ấy muốn biết ... – Franz

+0

Bạn nói đúng, tôi đã cập nhật câu trả lời của mình. Cảm ơn. – nortron

Các vấn đề liên quan