将数值(纬度和经度值)分配给$ _SESSION变量时,值会正确存储在原始脚本中。但是,当第二页访问$ _SESSION变量时,该值现在是变量的名称。见下文。
page1.php代码
<?
php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
var latitude = 35.0;
var longitude = -89.0;
<?php
$_SESSION['wailat'] = latitude;
$_SESSION['wailng'] = longitude;
?>
<p>Latitude is ' + <?php echo $_SESSION['wailat']; ?> <br>Longitude is <?php echo $_SESSION['wailng']; ?></p>
<a href="page2.php">Page 2</a>
</body>
</html>
第1页输出正确: 纬度为35.0 经度是-89.0
代码:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<?php
if (isset($_SESSION['wailat']) && isset($_SESSION['wailng']) ) {
echo 'Latitude ' . $_SESSION['wailat'] . '<br />Longitude ' . $_SESSION['wailng'];
} ?>
</body>
</html>
第2页输出不正确:
纬度是纬度 经度是经度
为什么第2页上的两个会话变量的值=分配给它们的变量的名称而不是值?
答案 0 :(得分:0)
请改为尝试:
<?php
$latitude = 35;
$longitude = -89;
$_SESSION['wailat'] = $latitude;
$_SESSION['wailng'] = $longitude;
?>
答案 1 :(得分:0)
您正在html正文中编写变量,它将显示在页面上。这不是声明变量的方法。页面上没有创建变量。甚至在第一页上它也不会回应变量。 你必须像@peter提到的那样去做。