PHP会话不会传递变量

时间:2017-02-23 17:30:58

标签: php session



我尝试将变量从一个页面传递到另一个页面,但是虽然我检查了多个错误,但我无法找到第二页(page1.phppage.2.php的原因或page3.php,取决于变量)不会从第一页(intro.php)收到变量。

有人可以帮助我吗?

这是intro.php

<?php
session_start();

$pageorder = array("page1", "page2", "page3", "page4");
shuffle($pageorder);

$_SESSION['intro']= $pageorder[0];
$_SESSION['echo ($pageorder[0])']= $pageorder[1];
$_SESSION['echo ($pageorder[1])']= $pageorder[2];
$_SESSION['echo ($pageorder[2])']= $pageorder[3];

?>

和html以下确定下一页(工作正常):

<input type=hidden name="nextURL" value="<?php echo($pageorder[0])?>.php">


这是page1.php,如果page1.php被选为第一个(page2.php,等等):

<?php
session_start();

$page1 = $_SESSION['page1']; 
?>

并再次在html下面确定下一页:

<input type=hidden name="nextURL" value="<?php echo ($page1) ?>.php">

不知怎的,它只是没有收到任何东西,所以$ page1是空的。

有人看到问题所在吗?

提前多多感谢!

1 个答案:

答案 0 :(得分:1)

您没有在第一个脚本中正确设置会话

<?php
session_start();

$pageorder = array("page1", "page2", "page3", "page4");
shuffle($pageorder);

$_SESSION['intro']= $pageorder[0];
$_SESSION[$pageorder[0]]= $pageorder[1];
$_SESSION[$pageorder[1]]= $pageorder[2];
$_SESSION[$pageorder[2]]= $pageorder[3];

?>

并且您将数据放在查看结果的位置是隐藏的,因此删除隐藏的属性并且幸运的话一切都会很好

<input type=hidden name="nextURL" value="<?php echo ($page1) ?>.php">

更改为

<input name="nextURL" value="<?php echo ($page1) ?>.php">