Firefox(10.0.2)破坏了阵列数据

时间:2012-03-07 16:20:45

标签: php arrays firefox

我正在尝试为使用浏览器后退按钮的用户提供访问包含多个下拉列表的页面(有些是使用jQuery选择其他列表时显示的)。当用户选择房间时,前进到下一页,使用浏览器后退按钮返回并进行不同的选择我正在重置页面加载时的下拉列表。当用户使用Chrome和IE再次前进时,我得到以下正确的数组结构:

Array
(
    [15] => Array
        (
            [12] => Array
                (
                    [num_rooms] => 0
                    [price] => 39.5
                )

            [15] => Array
                (
                    [num_rooms] => 1
                    [adults] => Array
                        (
                            [0] => 2
                        )

                    [prices] => Array
                        (
                            [0] => 49.5
                        )

                    [roomTotalPrice] => Array
                        (
                            [0] => 49.5
                        )

                    [price] => 99
                )

            [14] => Array
                (
                    [num_rooms] => 0
                    [price] => 49
                )

            [16] => Array
                (
                    [num_rooms] => 0
                    [price] => 39.5
                )

            [13] => Array
                (
                    [num_rooms] => 0
                    [price] => 39.5
                )

        )

这正确显示所选房间/房价组合,15号房和15号房间的“成人”数量。 当我在Firefox中运行完全相同的代码时,阵列会以下列方式损坏:

Array
(
    [15] => Array
        (
            [12] => Array
                (
                    [num_rooms] => 0
                    [price] => 39.5
                )

            [15] => Array
                (
                    [num_rooms] => 1
                    [price] => 99
                )

            [79] => Array
                (
                    [adults] => Array
                        (
                            [0] => 2
                        )

                    [prices] => Array
                        (
                            [0] => 49.5
                        )

                    [roomTotalPrice] => Array
                        (
                            [0] => 49.5
                        )

                )


        )

不是将“成人”数据添加到房间/费率15,而是将其添加到不存在的费率“79”。

有关为什么Firefox可能会这样做的任何建议吗?

1 个答案:

答案 0 :(得分:1)

将以下代码添加到页面阻止了Firefox缓存数据并解决了问题:

<?php
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.
?>