Làm cách nào để giữ phiên php tồn tại?

tôi đang gặp rất nhiều vấn đề khi cố gắng để các biến phiên hoạt động sau khi trình duyệt đã đóng

Xin chào đã thử sử dụng

ini_set['session. gc_maxlifetime', 60*60];

ini_set['session. cookie_lifetime', 60*60];

 

Nhưng họ không làm việc. Có cách nào để giữ cho các biến phiên hoạt động khi đóng trình duyệt không?

 

Cũng có ai từng nghe nói về việc sử dụng. htaccess để giữ cho các biến phiên hoạt động?

Tôi cần bất kỳ trợ giúp về điều này, tôi không biết phải thử những gì

 

Như một lưu ý phụ. tôi không có quyền truy cập vào php. ini hoặc httpd. conf

 

cảm ơn bất cứ ai có thể giúp ghim bằng mọi cách

Steph

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

hỗn xược

Đăng ngày 25 tháng 6 năm 2008

hỗn xược

  • cựu nhân viên
    • 14. 8k
    • 1
  • quyên góp cho tôi

    • Chia sẻ

Đăng ngày 25 tháng 6 năm 2008

không, bạn không thể giữ phiên hoạt động sau khi đóng trình duyệt. Đó là điểm của phiên. Đó là một “phiên. " Nếu bạn muốn dữ liệu tồn tại sau phiên, bạn có thể xem xét việc tạo cookie bằng cách sử dụng setcookie[. ];

The following code shows how the PHP session works. The function my_session_start[] does almost the same thing as session_start[].

error_reporting[E_ALL];
ini_set['display_errors', true];
ini_set['session.save_path', __DIR__];

my_session_start[];

echo '

session id: '.my_session_id[].'

';

echo '

________0';

$now = date['H:i:s'];
if [isset[$_SESSION['last_visit_time']]] {
  echo '

Last Visit Time: '.$_SESSION['last_visit_time'].'

';
}
echo '

Current Time: '.$now.'

';

$_SESSION['last_visit_time'] = $now;

function my_session_start[] {
  global $phpsessid, $sessfile;

  if [!isset[$_COOKIE['PHPSESSID']] || empty[$_COOKIE['PHPSESSID']]] {
    $phpsessid = my_base32_encode[my_random_bytes[16]];
    setcookie['PHPSESSID', $phpsessid, ini_get['session.cookie_lifetime'], ini_get['session.cookie_path'], ini_get['session.cookie_domain'], ini_get['session.cookie_secure'], ini_get['session.cookie_httponly']];
  } else {
    $phpsessid = substr[preg_replace['/[^a-z0-9]/', '', $_COOKIE['PHPSESSID']], 0, 26];
  }

  $sessfile = ini_get['session.save_path'].'/sess_'.$phpsessid;
  if [is_file[$sessfile]] {
    $_SESSION = unserialize[file_get_contents[$sessfile]];
  } else {
    $_SESSION = array[];
  }
  register_shutdown_function['my_session_save'];
}

function my_session_save[] {
  global $sessfile;

  file_put_contents[$sessfile, serialize[$_SESSION]];
}

function my_session_id[] {
  global $phpsessid;
  return $phpsessid;
}

function my_random_bytes[$length] {
  if [function_exists['random_bytes']] {
      return random_bytes[$length];
  }
  $randomString = '';
  for [$i = 0; $i < $length; $i++] {
      $randomString .= chr[rand[0, 255]];
  }
  return $randomString;
}

function my_base32_encode[$input] {
  $BASE32_ALPHABET = 'abcdefghijklmnopqrstuvwxyz234567';
  $output = '';
  $v = 0;
  $vbits = 0;
  for [$i = 0, $j = strlen[$input]; $i < $j; $i++] {
    $v > $vbits];
      $v &= [[1 0] {
    $v

Chủ Đề