簡體   English   中英

我的$ _SESSION ['vars']似乎不起作用

[英]My $_SESSION['vars'] don't seem to work

我正在使用似乎未保存的$_SESSION['loggedIn']= true 在保存之前,我使用session_start() 我可以在和設置后立即回顯該變量,但是,一旦更改頁面,該變量就消失了。 在另一頁上閱讀之前,我也使用session_start()

現在,我有一個.htaccess文件,如下所示:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$  index.php?v=$1 [QSA,L]

好的..所以這是index.php

@session_start();

define("x_app", "1");

define('X_BASE', dirname(__FILE__));

require_once X_BASE.'/config/config.php';

include "classes/browser.php";

$browser = new Browser();

$browser->setBrowserCookie();

$_SESSION['browser'] = $browser;

$_SESSION['language'] = "english";

//Getting View

$v = explode('/', $_GET['v']);

$view = $v[0];



After this I load the view..
In this case Login, which is loaded by a require function




defined('x_app') or die;

require('helper.php');

$email = $_POST['email'];

$password = $_POST['password'];



if(isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true){

    //Redirect to my portfolio landing page

}

else{ //Not Logged In


    //Process Form
    if(isset($_POST['email']) && isset($_POST['password'])){

        $xLogin = new X_Login();

        if($xLogin->login($email, $password) == true){

            echo 'User is logged In';

            //@session_start() ---> should I put this here again? Don't think so...
            // ! This is the variable that I can't save 
            $_SESSION['loggedIn'] = true;

                    // ! I have an echo here but if change the page, it gets lost
            echo 'session->'.$_SESSION['loggedIn'];

        }else{

            echo 'User is not logged in';

        }

    }
    //Error in Form

    elseif(!isset($_POST['email']) || !isset($_POST['password'])){

        $error = "Login Error";

        include('views/default.php');

    }


}

這是cookie功能

公共函數setBrowserCookie(){

if(empty($_COOKIE['verifyUser'])){  

$ip = $_SERVER['REMOTE_ADDR'];

$ub = $this->getBrowser(); 

@setcookie("verifyUser", $ip.$ub, time()+31536000);

}

}

這會影響會話變量的保存路徑嗎? 如果是這樣,我該如何解決?

提前致謝...

您的重寫規則不會影響變量的保存路徑,因為保存變量的路徑不是由Web服務器處理,而是由操作系統處理。 很難說出問題的原因是什么,因為您沒有提供太多有關程序代碼的信息。 我的猜測是,會話ID如何從一個請求傳遞到下一個請求存在問題(實際上,丟失會話ID的方式有很多,包括涉及Cookie和基於URL的會話ID混合的情況) ,或以某種形式混合POST和GET變量,再加上SID參數-甚至可以是特定於瀏覽器的變量)。

發布有關傳遞會話ID的方式的更多信息,以便我們可能在那里找到問題。

檢查網站的磁盤空間。 自從我為他建立自己的網站以來,我的客戶就一直在上傳照片,而托管空間用盡的那一刻,他就無法登錄。 原來,因此無法存儲該會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM