2013-12-09 110 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