2017-02-23 44 views
-1



我試圖從一個網頁傳遞變量到另一個,但儘管我已經檢查了多個錯誤,我無法找到原因的第二頁(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

回答

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

0

既然你已經甲肝Ë一個數組,只是它放入您的會話數組:

$_SESSION['page'] = $pageorder; 

如果前奏必須調用介紹,你可能只是這樣做,以及:

$_SESSION['page'] = $item; 
$_SESSION['intro'] = $item[0]; 
unset($_SESSION['page']['0']) //optional; 

那麼你有$ _SESSION [簡介'],$ _SESSION ['page'] [1] .. [3]