php$_GET和$POST之间的共享变量


Shared variables between php $_GET and $POST

为什么页面无法获取$temp_kt值?我测试了$_SESSION['temp_kt']$_ENV['temp_kt'],它们都不起作用。

<?php
$temp_kt=0;
if(isset($_POST['db']))
{
    if($_POST['db']=="feedback")
    {
        global $temp_kt;
    $temp_kt=$_POST['temp_kt'];
    }
    exit();
}
if(isset($_GET['q']))
{
    echo "temp_kt=".$temp_kt;
}
?> 

if(isset($_POST['db']))中有exit,这意味着不能同时拥有if语句。如果你想在会话中保存这个值,你应该使用这样的代码:

<?php
session_start();
if (isset($_POST['db'])) {
    if ($_POST['db']=="feedback") {
         $_SESSION['temp_kt'] = $_POST['temp_kt'];
    }
    exit();
}
if (isset($_GET['q'])) {
    echo "temp_kt=" . $_SESSION['temp_kt'];
}
?> 

session_start函数将为您启用会话,您在设置和获取会话值时需要它(它将使用头向浏览器发送cookie,因此您之前不会有任何回声)。