2012-10-11 86 views
0

我在Page1.php的頂部添加了以下內容。將PHP會話從第1頁傳遞到第2頁

<?php 
    session_start(); 
    $_SESSION['ALL_YEAR'] = $_POST['ALL_YEAR']; 
?> 

我試圖捕捉一個選擇名爲ALL_YEAR形式選擇時,該按鈕被按下:

<button type="button" value="Send" id="avgSubmitXLEW_1_12_3" onClick="location.href=this.value">Configure</button> 

上使page2.php我有這樣的頂部:

<?php 
    session_start(); 
    $home = $_REQUEST['ALL_YEAR']; 
?> 

在頁面正文中向下延伸我有此:

<? echo $_session['home'];?> 

該值沒有顯示在回聲中?我究竟做錯了什麼?的

+0

在代碼的開頭始終使用'<?php'而不是'<?'。並非所有服務器都啓用了短標記。 – dnLL

+0

僅供參考,$ _session與$ _SESSION不同。這個案例很重要。 –

+0

另外,您正在使用$ _REQUEST,它是一個超級全局的並可能引發一些安全問題。雖然您的代碼可能不會因其當前目的而受到影響,但總是避免它的一個更好的主意。 – dnLL

回答

5

代替:

$home = $_REQUEST['ALL_YEAR']; 
... 
<? echo $_session['home']; ?> 

你應該做的:

$home = $_SESSION['ALL_YEAR']; 
... 
<?php echo $home; ?> 
+1

在代碼的開頭始終使用'<?php'而不是'<?'。並非所有服務器都啓用了短標記。 – dnLL

0

PHP變量名是大小寫敏感的:

<? echo $_session['home'];?> 

應該

<? echo $_SESSION['home'];?> 
+0

沒有關鍵是'SESSION'被稱爲'home' – pankar

+0

它是不相關的,如果你沒有訪問實際的SESSION會話中的關鍵是什麼...... –

+1

當然......但它不能解決OP的問題 – pankar

相關問題