【问题标题】:php session numeric variables not saved properly to other scriptsphp会话数字变量未正确保存到其他脚本
【发布时间】:2013-12-17 16:59:47
【问题描述】:

将数值(纬度和经度值)分配给 $_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

第2页代码:

<?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 页上的两个会话变量的值 = 分配给它们的变量的名称而不是值?

【问题讨论】:

  • 看起来你正在混合 PHP 和 JavaScript,但没有混合。要么你不知道如何编写 PHP,因为你的第一个 sn-p 中的语法甚至都不正确。

标签: php session


【解决方案1】:

试试这个:

<?php
    $latitude = 35;
    $longitude = -89;

    $_SESSION['wailat'] = $latitude;
    $_SESSION['wailng'] = $longitude;
?>

【讨论】:

    【解决方案2】:

    您在html body 中编写变量,它将在页面上显示。这不是声明变量的方式。页面上没有创建任何变量。甚至在第一页它也不会回显变量。 你必须像@peter 提到的那样去做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      相关资源
      最近更新 更多