PHP会议上没有通过可变

问题描述:



我试图从一个网页传递变量到另一个,但尽管我已经检查了多个错误,我无法找到原因的第二页(page1.phppage.2.phppage3.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页是空的。

有没有人看到问题出在哪里?

非常感谢!

+3

您不能在会话数组的标识符内部回显。 –

+1

^^查看'var_dump($ _ SESSION);'的输出,你会发现在设置这些值时出了什么问题。 –

+0

它不能与$ _SESSION ['$ pageorder [0]']一起使用... – Erik

你是不是在第一个脚本

<?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]