Firefox中PHP会话变量的更改

Firefox中PHP会话变量的更改,php,wordpress,firefox,session-variables,Php,Wordpress,Firefox,Session Variables,我已经为他们服务的每个区域建立了一个主页。在Chrome和Safari中,如果您转到“服务区域”选项卡并选择一个服务区域,您将被带到该区域的主页 此时,将启动一个会话来存储用户选定的区域,如果用户访问站点上的另一个页面,则该会话现在会在该选定位置的标题中显示特定于位置的广告,或者如果用户选择主页,则会将其重定向到其选定区域主页 Firefox中的问题是,如果您选择了一个服务区域并进入该区域的主页,然后从菜单中选择另一个页面,则设置的服务区域将更改为另一个区域。这仅在将自定义主页转到其他菜单页时发

我已经为他们服务的每个区域建立了一个主页。在Chrome和Safari中,如果您转到“服务区域”选项卡并选择一个服务区域,您将被带到该区域的主页

此时,将启动一个会话来存储用户选定的区域,如果用户访问站点上的另一个页面,则该会话现在会在该选定位置的标题中显示特定于位置的广告,或者如果用户选择主页,则会将其重定向到其选定区域主页

Firefox中的问题是,如果您选择了一个服务区域并进入该区域的主页,然后从菜单中选择另一个页面,则设置的服务区域将更改为另一个区域。这仅在将自定义主页转到其他菜单页时发生

这是设置会话的代码:

session_start();

$cur_url = dd_cur_page_url();

if ('local_home_pages' == get_post_type() && $cur_url != $_SESSION['dd_location']['home']) {
    $cur_url_mod = str_replace('carpet-cleaning_', '', $cur_url);
    $url_parts = explode('/', $cur_url_mod);
    $url_parts_count = count($url_parts);
    $cur_page = $url_parts[$url_parts_count - 2];
    $location_parts = explode('_', $cur_page);
    $place = trim(str_replace('-', ' ', $location_parts[0]));
    $state = trim(str_replace('-', ' ', substr($location_parts[1], 2)));
    $state_parts = explode('-', $location_parts[1]);
    $state_abv = trim($state_parts[0]);
    $county = trim(str_replace('-', ' ', $location_parts[2]));
    $_SESSION['dd_location'] = array(
            'home' => $cur_url,
            'place' => $place,
            'state' => $state,
            'state_abv' => $state_abv,
            'county' => $county);
}
这是只在通用主页上运行的重定向代码:

session_start();

$cur_url = dd_cur_page_url();

if (is_front_page() && isset($_SESSION['dd_location']['home'])) {
    $location = $_SESSION['dd_location']['home'];
    header('Location:' . $location);
}

在使用firebug进行了一些调试之后,我发现了问题。这是在firefox的预取中。我在.htaccess文件中添加了以下内容,现在一切正常

RewriteEngine on
RewriteCond %{HTTP:X-moz} prefetch
RewriteRule . . [F,L] 
我将写一篇关于这个问题的帖子,告诉我如何发现它,如何修复它,以及为什么它会在接下来的几天内出现在我的网站上,这些人和我一样,想要的不仅仅是修复


感谢社区的建议。这是我第一次来这里,非常愉快!干杯

使用firebug进行调试后,我发现了问题。这是在firefox的预取中。我在.htaccess文件中添加了以下内容,现在一切正常

RewriteEngine on
RewriteCond %{HTTP:X-moz} prefetch
RewriteRule . . [F,L] 
我将写一篇关于这个问题的帖子,告诉我如何发现它,如何修复它,以及为什么它会在接下来的几天内出现在我的网站上,这些人和我一样,想要的不仅仅是修复


感谢社区的建议。这是我第一次来这里,非常愉快!干杯

我们可以看到get\u post\u type()和is\u front\u page()函数吗?您还可以为这两个页面包含$u会话的var\u转储吗?它们是内置的wordpress函数。如果是站点主页,则返回true。如果是这种情况,用户将被重定向到其所选区域主页。get\u post\u type返回页面的post类型。如果它是本地主页的post类型,并且与会话中设置的页面不同,则会话信息会更新,如果相同,则会保留会话。我将在标题中添加一个var转储,直到找到解决方案。是否尝试CTRL+f5?我们是否可以看到get\u post\u type()和is\u front\u page()函数?您还可以为这两个页面包含$u会话的var\u转储吗?它们是内置的wordpress函数。如果是站点主页,则返回true。如果是这种情况,用户将被重定向到其所选区域主页。get\u post\u type返回页面的post类型。如果它是本地主页的post类型,并且与会话中设置的页面不同,则会话信息会更新,如果相同,则会保留会话。我将在标题中添加一个var转储,直到找到解决方案。你是否尝试了CTRL+f5?我甚至不想假装我理解为什么这样做,但是你救了我一命,谢谢!我保存的一个会话变量在每次后续页面加载时都会增加1(仅在FireFox上)。我以为我疯了!我甚至不想假装我明白为什么会这样,但你救了我一命,谢谢!我保存的一个会话变量在每次后续页面加载时都会增加1(仅在FireFox上)。我以为我疯了!