Hướng dẫn how to check session in php - cách kiểm tra phiên trong php

Đây có phải là thực hành xấu?

if ($_SESSION['something'] == '')
{
    echo 'the session is empty';
}

Có cách nào để kiểm tra xem nó có trống hay nó không được đặt? Tôi thực sự làm điều này:

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}

!isset chỉ kiểm tra xem $_SESSION[''] có tồn tại không và không kiểm tra xem có giá trị nào trong mảng hay không

Đã hỏi ngày 5 tháng 10 năm 2009 lúc 12:36Oct 5, 2009 at 12:36

Hướng dẫn how to check session in php - cách kiểm tra phiên trong php

Willdanceforfunwilldanceforfunwilldanceforfun

10,8K31 Huy hiệu vàng81 Huy hiệu bạc122 Huy hiệu đồng31 gold badges81 silver badges122 bronze badges

0

Tôi sẽ sử dụng

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
0 và
if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
1:

session_start();
if(isset($_SESSION['blah']) && !empty($_SESSION['blah'])) {
   echo 'Set and not empty, and no undefined index error!';
}

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
2 là một giải pháp thay thế tốt cho việc sử dụng
if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
0 để kiểm tra các khóa:

session_start();
if(array_key_exists('blah',$_SESSION) && !empty($_SESSION['blah'])) {
    echo 'Set and not empty, and no undefined index error!';
}

Hãy chắc chắn rằng bạn đang gọi

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
4 trước khi đọc hoặc ghi vào mảng phiên.

Shiv Singh

6.5803 Huy hiệu vàng39 Huy hiệu bạc47 Huy hiệu đồng3 gold badges39 silver badges47 bronze badges

Đã trả lời ngày 5 tháng 10 năm 2009 lúc 12:41Oct 5, 2009 at 12:41

Hướng dẫn how to check session in php - cách kiểm tra phiên trong php

12

Sử dụng

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
0,
if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
1 hoặc
if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
2 (đặc biệt là đối với các khóa mảng) trước khi truy cập vào một biến có sự tồn tại mà bạn không chắc chắn. Vì vậy, hãy thay đổi thứ tự trong ví dụ thứ hai của bạn:

if (!isset($_SESSION['something']) || $_SESSION['something'] == '')

Đã trả lời ngày 5 tháng 10 năm 2009 lúc 12:46Oct 5, 2009 at 12:46

GumbogumboGumbo

629K106 Huy hiệu vàng768 Huy hiệu bạc838 Huy hiệu đồng106 gold badges768 silver badges838 bronze badges

Bạn đang tìm kiếm chức năng PHP

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
8

Đã trả lời ngày 5 tháng 10 năm 2009 lúc 12:40Oct 5, 2009 at 12:40

Hướng dẫn how to check session in php - cách kiểm tra phiên trong php

KNITTLKNITTLknittl

225K52 Huy hiệu vàng300 Huy hiệu bạc343 Huy hiệu Đồng52 gold badges300 silver badges343 bronze badges

1

Bạn có thể sử dụng hàm Count () để xem có bao nhiêu mục trong mảng $ _Session. Đây không phải là thực hành tốt. Thay vào đó, bạn nên đặt ID của người dùng (hoặc một cái gì đó tương tự) để kiểm tra xem phiên được khởi tạo hay không.

if( !isset($_SESSION['uid']) )
    die( "Login required." );

(Giả sử bạn muốn kiểm tra xem ai đó đã đăng nhập)

Đã trả lời ngày 5 tháng 10 năm 2009 lúc 12:41Oct 5, 2009 at 12:41

Sử dụng

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
0,
if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
1 hoặc
if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
2 (đặc biệt là đối với các khóa mảng) trước khi truy cập vào một biến có sự tồn tại mà bạn không chắc chắn. Vì vậy, hãy thay đổi thứ tự trong ví dụ thứ hai của bạn:svens

Đã trả lời ngày 5 tháng 10 năm 2009 lúc 12:466 gold badges36 silver badges55 bronze badges

Gumbogumbo

629K106 Huy hiệu vàng768 Huy hiệu bạc838 Huy hiệu đồng

Bạn đang tìm kiếm chức năng PHP

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
8Oct 5, 2009 at 12:49

Đã trả lời ngày 5 tháng 10 năm 2009 lúc 12:40mjs

KNITTLKNITTL27 gold badges89 silver badges118 bronze badges

if(isset($_SESSION))
{}
else
{}

225K52 Huy hiệu vàng300 Huy hiệu bạc343 Huy hiệu ĐồngFeb 27, 2014 at 19:36

Hướng dẫn how to check session in php - cách kiểm tra phiên trong php

Bạn có thể sử dụng hàm Count () để xem có bao nhiêu mục trong mảng $ _Session. Đây không phải là thực hành tốt. Thay vào đó, bạn nên đặt ID của người dùng (hoặc một cái gì đó tương tự) để kiểm tra xem phiên được khởi tạo hay không.hfarazm

(Giả sử bạn muốn kiểm tra xem ai đó đã đăng nhập)16 silver badges22 bronze badges

Svenssvens

     function sessionexists(){
        if(!empty($_SESSION)){
     return true;
         }else{
     return false;
         }
      }


        if (!sessionexists()){
           redirect("https://www.yoursite.com/");
           exit();
           }else{call_user_func('check_the_page');
         } 

11.1k6 Huy hiệu vàng36 Huy hiệu bạc55 Huy hiệu ĐồngMay 30, 2019 at 21:50

Nếu bạn muốn kiểm tra xem các phiên có khả dụng hay không, có lẽ bạn muốn sử dụng chức năng

if (($_SESSION['something'] == '') || (!isset($_SESSION['something'])) {
    echo 'the session is either empty or doesn\'t exist';
}
9:Glenn

session_id () trả về ID phiên cho phiên hiện tại hoặc chuỗi trống ("") nếu không có phiên hiện tại (không tồn tại ID phiên hiện tại).1 silver badge10 bronze badges

Làm thế nào để bạn kiểm tra xem có một phiên trong PHP?

Bạn có thể kiểm tra xem một biến đã được đặt trong phiên của người dùng bằng cách sử dụng function isset (), vì bạn sẽ có một biến bình thường. Vì $ _Session SuperGlobal chỉ được khởi tạo khi session_start () đã được gọi, bạn cần gọi session_start () trước khi sử dụng isset () trên biến phiên.using the function isset(), as you would a normal variable. Because the $_SESSION superglobal is only initialised once session_start() has been called, you need to call session_start() before using isset() on a session variable.

Làm thế nào để bạn kiểm tra phiên được bắt đầu hay không?

session_status () được sử dụng để trả về trạng thái phiên hiện tại. is used to return the current session status.

Làm cách nào để tìm tên phiên của tôi?

Để có được tên phiên, chúng tôi cần gọi hàm session_name () mà không cần truyền bất kỳ đối số nào.Điều này sẽ trả về tên phiên đang được đặt.Nếu không có tên phiên cụ thể được đặt, thì trong trường hợp đó, một chuỗi phpsessid, sẽ được trả lại dưới dạng tên phiên là giá trị mặc định cho tên phiên.call function session_name() without passing any argument. This will return the session name that is being set. IF there is no specific session name set, then in that case a string “PHPSESSID” will be returned as session name which is a default value for session name.

Phiên PHP trong PHP là gì?

Phiên Php được sử dụng để lưu trữ và truyền thông tin từ trang này sang trang khác tạm thời (cho đến khi người dùng đóng trang web).Kỹ thuật phiên PHP được sử dụng rộng rãi trong các trang web mua sắm, nơi chúng tôi cần lưu trữ và truyền thông tin giỏ hàng, ví dụ:Tên người dùng, mã sản phẩm, tên sản phẩm, giá sản phẩm, vv từ trang này sang trang khác.used to store and pass information from one page to another temporarily (until user close the website). PHP session technique is widely used in shopping websites where we need to store and pass cart information e.g. username, product code, product name, product price etc from one page to another.