2012-04-14 43 views
13

Vì vậy, Im một người mới bắt đầu khi nói đến PHP vì vậy tôi cần một chút giúp đỡ. Tôi đang cố gắng tìm ra thời điểm bắt đầu phiên. Tôi có nên làm điều đó khi người dùng đăng ký lần đầu hoặc khi họ đăng nhập?Khi nào tôi phải khai báo session_start() ;?

Ngoài ra, các phiên 'phổ quát' có nghĩa là khi tôi kiểm tra phiên đó nó sẽ hoạt động hay tôi phải đưa tệp vào tất cả các trang kiểm tra xem có ai đó có phiên không?

Trả lời

18

"Tôi có nên làm điều đó khi người dùng đăng ký lần đầu hoặc về thời điểm họ đăng nhập?"

Bạn nên làm điều đó mỗi lần bạn muốn nhận hoặc đặt bất kỳ thông tin phiên nào. Dữ liệu được lưu trữ trong mảng $_SESSION sẽ chỉ khả dụng sau khi phiên được bắt đầu.

"Ngoài ra, các phiên 'phổ quát' có nghĩa là khi tôi kiểm tra phiên đó nó sẽ hoạt động hay tôi phải đưa tệp vào tất cả các trang kiểm tra xem có ai đó có phiên không?"

Gọi session_start() là tất cả những gì bạn cần để tạo phiên. Nếu một phiên đã được tạo, phiên đó sẽ được sử dụng.

+10

Hiển thị mã kiểm tra xem phiên đã được bắt đầu hay chưa và chỉ bắt đầu nếu nó chưa được bắt đầu sẽ là phương pháp hay. 'if (! isset ($ _ SESSION)) {session_start;}' –

+9

'session_start()' cũng cần phải có trước bất kỳ đầu ra HTML nào – MattCan

4

chỉ với session_start() một lần trong mỗi tệp bạn truy cập biến $ _SESSION. tốt nhất là làm điều đó ở một vị trí trung tâm. ví dụ: một tệp được bao gồm trong mọi tệp ứng dụng của bạn.

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