2013-12-09 152 views
0

我正在使用會話變量來保存用戶在搜索結果中訪問的最後一頁,以便他們可以返回到該頁面。PHP會話變量頁面間變化

,如果我做

echo($_SESSION['page']) 

在他的結果頁面的值是正確的終點,但是當我重新加載頁面(或者加載其他頁面)的值增加1。我做了一個echo($_SESSION['page'])session_start()調用之後,它已經增加了,所以我猜它在搜索結果的PHP代碼完成運行之前就已經增加了,但是找不到這樣做的代碼行。

爲了測試這個,增加了一個名爲$_SESSION['page2']的新變量,這個新變量也增加了。

任何想法?

編輯

變量從尋呼機對象,取值爲這樣

$_SESSION['page'] = $pager->getCurrentPageID(); 

而且我找不到在哪裏它被設置爲不同的值,任何其他地方。我們在不同的網站使用相同的單位和代碼,以前從未遇到過這個問題。嘗試用其他網站中的代碼替換代碼和傳呼機類定義,但沒有解決這個問題。

+3

爲了幫助您,我們需要moar代碼。 –

+1

你能分享一些代碼嗎?我想你正在更新價值的地方。 – sulmanpucit

+2

首先:檢查您的訪問日誌。是否有單個請求,或者是否有使用戶請求所有內容兩次的錯誤?後者是我見過的這類問題中最常見的原因。 – Wrikken

回答

0
session_start(); 

必須在任何事情回傳給瀏覽器之前調用,最好的做法是把它作爲你在PHP頁面上的第一件事。

如果你提供更多的代碼,給你更好的答案是沒有問題的。

More about session_start();

+0

它在碼 – AngelGris