2012-10-12 47 views
10

Làm cách nào tôi có thể kiểm tra xem cookie có được bật hay phiên người dùng trong PHP không?Codeigniter & PHP kiểm tra xem phiên có tồn tại

Tôi cần mảnh mã thực sự nhẹ hơn của thế giới này để làm điều đó, bất kỳ ai cũng có thể cho tôi thấy một chút không?

Tôi đang sử dụng Codeigniter nhưng tôi định sử dụng PHP gốc cho điều khiển này.

mã của tôi:

if(session_start()){ echo 'started'; } 

như tôi biết CodeIgniter không sử dụng session trong PHP mẹ đẻ, làm thế nào để làm như vậy?

+0

if (session_start()) {echo 'đã bắt đầu'; } – sbaaaang

Trả lời

13

Kiểm tra cho một phiên id hợp lệ:

$sid = session_id(); 

Ví dụ:

$sid = session_id(); 
if($sid) { 
    echo "Session exists!"; 
} else { 
    session_start(); 
} 
+0

nhưng nếu không có phiên phiên nào sẽ không bắt đầu ... – sbaaaang

+2

Không, nếu không có id phiên nào tồn tại, nó chỉ có nghĩa là không có phiên nào được bắt đầu. Không phải là nó không thể bắt đầu. –

+0

omg bạn nói đúng !! thx – sbaaaang

3

Điểm đầu tiên là "Đừng chống lại khuôn khổ" khi khuôn khổ của bạn có một số chức năng hơn so với sử dụng nó. Thông thường trong các lớp khung là các chức năng để ngăn ngừa tiêm.

Đây là một bài viết khi cho bạn biết làm thế nào để kiểm tra các tập tin cookie:

Check if cookies are enabled

Và đối với phiên

How to tell if a session is active?

3

Tôi nghĩ rằng bạn chỉ có thể kiểm tra bằng cách làm một cái gì đó như:

if(isset($_SESSION)){ 
    // tells php session is initiated 
} 
if(isset($_COOKIE)){ 

} 
+0

codeigniter tôi nghĩ rằng nó không sử dụng phiên bản PHP gốc, tôi đang gặp rắc rối với điều này – sbaaaang

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