PHP 会话不工作


PHP session isnot working

php 会话无法正常工作!!知道为什么它将空值传递给 senond 页面吗?

file1.php:
<?php
session_start();
$_SESSION['lat']=$_POST['lat'];
$_SESSION['lng']=$_POST['lng'];
session_write_close();
header('Location: http://sample.com/e_health/searchambulance.php');
?>
file2:
<?php
session_start();
$lat= $_SESSION['lat'];
$lng=$_SESSION['lng'];
echo $lat;
echo $lng;
?>

(至少)有两件事你可能想要测试:
a) file1 是否使用这两个 POST 参数被调用?
b) 会话 ID 的传播是否有效?(对于两个"文件",输出 session_id=xyz 必须相同,否则第二个请求与第一个请求的会话不紧密)

文件 1:

<?php
if ( !isset($_POST['lat'], $_POST['lng']) ) {
    die('missing parameters'); // you probably want a slightly more sophisticated error handling here
}
session_start();
$_SESSION['lat']=$_POST['lat'];
$_SESSION['lng']=$_POST['lng'];
//session_write_close();
//header('Location: http://sample.com/e_health/searchambulance.php');
echo 'session_id=', session_id(), '<br /><a href="http://sample.com/e_health/searchambulance.php">page #2</a>';

文件2:

<?php
session_start();
$lat= $_SESSION['lat'];
$lng=$_SESSION['lng'];
echo 'session_id=', session_id(), '<br />';
echo $lat;
echo $lng;

将代码更改为这种方式。它会起作用...

文件1.php:

<?php
session_start();
$_SESSION['lat']=$_POST['lat'];
$_SESSION['lng']=$_POST['lng'];
header('Location: http://sample.com/e_health/searchambulance.php');
?>
file2:
<?php
session_start();
$lat= $_SESSION['lat'];
$lng=$_SESSION['lng'];
echo $lat;
echo $lng;
?>