会话变量始终获得相同的值

时间:2016-06-02 11:12:29

标签: php html session session-variables

我正在使用php在我的网页中设置21个区的会话变量。为此,我使用下面的代码。

<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

//DISTRITO
if (isSet($_GET['distrito'])) {
    $distrito = $_GET['distrito'];

// register the session
$_SESSION['distrito'] = $distrito;
}
else
{
$distrito = 'portugal';
}
?>

问题在于,在我的网页中,无论我选择哪个区域,它总是假设相同。有人可以帮帮我吗?

http://codepen.io/Ryuh/pen/ZOYPmZ?editors=1000

3 个答案:

答案 0 :(得分:0)

你的写错了。它不是isSet()它的isset()。希望对你有用

<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

//DISTRITO
if (isset($_GET['distrito'])) {
    $distrito = $_GET['distrito'];

// register the session
$_SESSION['distrito'] = $distrito;
}
else
{
$distrito = 'portugal';
}
?>

答案 1 :(得分:0)

错误,用isset替换isSet:

<强> PHP

session_start();
header('Cache-control: private'); // IE 6 FIX
if (isset($_GET['distrito'])) {
    $distrito = $_GET['distrito'];
    $_SESSION['distrito'] = $distrito;
}
else {
 $distrito = 'portugal';
}

答案 2 :(得分:0)

我认为这就是你的目标:

<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

//DISTRITO
if(isset($_GET['distrito']))
{
        $distrito = $_GET['distrito'];   
        // register the session
        $_SESSION['distrito'] = $distrito;
}
else
{
        if(isset($_SESSION['distrito']))
        {
                $distrito = $_SESSION['distrito'];
        }
        else
        {
                $distrito = 'portugal';
        }
}

这将首先使用GET变量,如果没有设置,它将查找cookie值,如果两个都未设置,则默认为葡萄牙。