Session FireFox中未更新PHP会话

Session FireFox中未更新PHP会话,session,firefox,Session,Firefox,我正面临一个奇怪的错误。它与更新php会话有关 我有一个网站,它的登录/注销在chrome、safari和IE等浏览器中运行得非常好,但在firefox中却不起作用。当我使用firefox登录时,注销按钮似乎不起作用。它只是不允许我注销。即使我手动输入注销链接,它仍然不起任何作用,让我一直登录。我没有做任何复杂的事情 你知道为什么相同的代码可以在chrome、IE和safari中使用,但不能在firefox中使用吗 让我知道, 谢谢 ===============================

我正面临一个奇怪的错误。它与更新php会话有关

我有一个网站,它的登录/注销在chrome、safari和IE等浏览器中运行得非常好,但在firefox中却不起作用。当我使用firefox登录时,注销按钮似乎不起作用。它只是不允许我注销。即使我手动输入注销链接,它仍然不起任何作用,让我一直登录。我没有做任何复杂的事情

你知道为什么相同的代码可以在chrome、IE和safari中使用,但不能在firefox中使用吗

让我知道, 谢谢

===========================================注销代码===============================

public function logout() {
    $this->session->unset_userdata('smallpoint_username');
    $this->session->sess_destroy();
    redirect(base_url() . 'forum/update_session.php?hasher = ' . time() . time() . time() . time() . time() . time() . '&&nohasher=' . time() . time() . time() . time() . time() . time() . '&&op=2', 'location', 301);
}
 $session_array = array(
                        'smallpoint_username' => $insertData['username'],
                        'smallpoint_full_name' => $insertData['full_name'],
                        'smallpoint_user_type' => $insertData['user_type'],
                        'smallpoint_user_id' => $userData['id'],
                        'smallpoint_user_snap' => '',
                        'is_logged_in' => 1,
                    );
                    $this->session->set_userdata($session_array);
                    redirect(base_url() . 'forum/update_session.php?hasher = ' . time() . time() . time() . time() . time() . time() . '&&nohasher=' . time() . time() . time() . time() . time() . time() . '&&thisisid=' . $userData['id'] . '&&thisisrole=' . $insertData['role'] . '&&thisisname=' . $insertData['username'] . '&&op=1', 'location', 301);
 session_start();
 require 'includes.php';
 if ($_GET['op'] == 1) {
     $_SESSION[TABLES_PREFIX . 'sforum_logged_in'] = true;
     $_SESSION[TABLES_PREFIX . 'sforum_user_id'] = $_GET['thisisid'];
     $_SESSION[TABLES_PREFIX . 'sforum_user_role'] = $_GET['thisisrole'];
     $_SESSION[TABLES_PREFIX . 'sforum_user_username'] = $_GET['thisisname'];
 } else {
     unset($_SESSION[TABLES_PREFIX . 'sforum_logged_in']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_id']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_role']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_username']);

     setcookie(TABLES_PREFIX . COOKIE_NAME, "", time() - 3600);
 }
 header('Location: ' . $_SERVER['HTTP_REFERER']);
===================登录时的会话设置代码===============================

public function logout() {
    $this->session->unset_userdata('smallpoint_username');
    $this->session->sess_destroy();
    redirect(base_url() . 'forum/update_session.php?hasher = ' . time() . time() . time() . time() . time() . time() . '&&nohasher=' . time() . time() . time() . time() . time() . time() . '&&op=2', 'location', 301);
}
 $session_array = array(
                        'smallpoint_username' => $insertData['username'],
                        'smallpoint_full_name' => $insertData['full_name'],
                        'smallpoint_user_type' => $insertData['user_type'],
                        'smallpoint_user_id' => $userData['id'],
                        'smallpoint_user_snap' => '',
                        'is_logged_in' => 1,
                    );
                    $this->session->set_userdata($session_array);
                    redirect(base_url() . 'forum/update_session.php?hasher = ' . time() . time() . time() . time() . time() . time() . '&&nohasher=' . time() . time() . time() . time() . time() . time() . '&&thisisid=' . $userData['id'] . '&&thisisrole=' . $insertData['role'] . '&&thisisname=' . $insertData['username'] . '&&op=1', 'location', 301);
 session_start();
 require 'includes.php';
 if ($_GET['op'] == 1) {
     $_SESSION[TABLES_PREFIX . 'sforum_logged_in'] = true;
     $_SESSION[TABLES_PREFIX . 'sforum_user_id'] = $_GET['thisisid'];
     $_SESSION[TABLES_PREFIX . 'sforum_user_role'] = $_GET['thisisrole'];
     $_SESSION[TABLES_PREFIX . 'sforum_user_username'] = $_GET['thisisname'];
 } else {
     unset($_SESSION[TABLES_PREFIX . 'sforum_logged_in']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_id']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_role']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_username']);

     setcookie(TABLES_PREFIX . COOKIE_NAME, "", time() - 3600);
 }
 header('Location: ' . $_SERVER['HTTP_REFERER']);
===============================更新_session.php======================

public function logout() {
    $this->session->unset_userdata('smallpoint_username');
    $this->session->sess_destroy();
    redirect(base_url() . 'forum/update_session.php?hasher = ' . time() . time() . time() . time() . time() . time() . '&&nohasher=' . time() . time() . time() . time() . time() . time() . '&&op=2', 'location', 301);
}
 $session_array = array(
                        'smallpoint_username' => $insertData['username'],
                        'smallpoint_full_name' => $insertData['full_name'],
                        'smallpoint_user_type' => $insertData['user_type'],
                        'smallpoint_user_id' => $userData['id'],
                        'smallpoint_user_snap' => '',
                        'is_logged_in' => 1,
                    );
                    $this->session->set_userdata($session_array);
                    redirect(base_url() . 'forum/update_session.php?hasher = ' . time() . time() . time() . time() . time() . time() . '&&nohasher=' . time() . time() . time() . time() . time() . time() . '&&thisisid=' . $userData['id'] . '&&thisisrole=' . $insertData['role'] . '&&thisisname=' . $insertData['username'] . '&&op=1', 'location', 301);
 session_start();
 require 'includes.php';
 if ($_GET['op'] == 1) {
     $_SESSION[TABLES_PREFIX . 'sforum_logged_in'] = true;
     $_SESSION[TABLES_PREFIX . 'sforum_user_id'] = $_GET['thisisid'];
     $_SESSION[TABLES_PREFIX . 'sforum_user_role'] = $_GET['thisisrole'];
     $_SESSION[TABLES_PREFIX . 'sforum_user_username'] = $_GET['thisisname'];
 } else {
     unset($_SESSION[TABLES_PREFIX . 'sforum_logged_in']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_id']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_role']);
     unset($_SESSION[TABLES_PREFIX . 'sforum_user_username']);

     setcookie(TABLES_PREFIX . COOKIE_NAME, "", time() - 3600);
 }
 header('Location: ' . $_SERVER['HTTP_REFERER']);

尝试将以下内容添加到代码中

session_save_path("/tmp");
session_start();
我在firefox中也遇到了同样的问题,而且效果很好

session_save_path("/tmp"); // CREATE this Folder in the root
session_start();
require 'includes.php';
if ($_GET['op'] == 1) {
 $_SESSION[TABLES_PREFIX . 'sforum_logged_in'] = true;
 $_SESSION[TABLES_PREFIX . 'sforum_user_id'] = $_GET['thisisid'];
 $_SESSION[TABLES_PREFIX . 'sforum_user_role'] = $_GET['thisisrole'];
 $_SESSION[TABLES_PREFIX . 'sforum_user_username'] = $_GET['thisisname'];
} else {
 unset($_SESSION[TABLES_PREFIX . 'sforum_logged_in']);
 unset($_SESSION[TABLES_PREFIX . 'sforum_user_id']);
 unset($_SESSION[TABLES_PREFIX . 'sforum_user_role']);
 unset($_SESSION[TABLES_PREFIX . 'sforum_user_username']);

 setcookie(TABLES_PREFIX . COOKIE_NAME, "", time() - 3600);
}
header('Location: ' . $_SERVER['HTTP_REFERER']);

您是将会话与cookie一起使用,还是仅使用cookie?你能发一些代码吗?注意这两种方法都要求浏览器接受cookie吗?我也添加了代码。看起来它也在使用cookies。我在哪里添加这个?删除会话时还是设置会话时?