PHP会议上没有通过可变
问题描述:
我试图从一个网页传递变量到另一个,但尽管我已经检查了多个错误,我无法找到原因的第二页(page1.php
, page.2.php
或page3.php
,取决于变量)不会从第一页接收变量(intro.php
)。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">
不知怎的,它只是没有得到任何东西,所以$第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">
+0
非常感谢解决方案! – Erik
答
既然你已经甲肝Ë一个数组,只是它放入您的会话数组:
$_SESSION['page'] = $pageorder;
如果前奏必须调用介绍,你可能只是这样做,以及:
$_SESSION['page'] = $item;
$_SESSION['intro'] = $item[0];
unset($_SESSION['page']['0']) //optional;
那么你有$ _SESSION [简介'],$ _SESSION ['page'] [1] .. [3]
您不能在会话数组的标识符内部回显。 –
^^查看'var_dump($ _ SESSION);'的输出,你会发现在设置这些值时出了什么问题。 –
它不能与$ _SESSION ['$ pageorder [0]']一起使用... – Erik