2013-07-18 81 views
0

我有一個正式的代碼,但會話變量不能傳遞給另一個頁面。 所以這裏是我的示例代碼。然而,這段代碼的結果是0:php會話無法將變量傳遞給其他頁面

第1頁代碼:

<?php 
session_start(); 
$_SESSION['try'] = 5; 
header('Location: page2.php'); 
?> 

第2頁代碼:

<?php 
session_start(); 
$test = $_SESSION['try']; 
echo $test; 
?> 
+2

Cookie是否關閉?如果是這樣,那麼你需要將session_id傳遞到你的會話中 –

+0

Cookies與'$ _SESSION'變量無關 – adamdehaven

+0

$ test是否必須有雙等號? –

回答

0

manual

session_start() creates a session or resumes the current 
one based on a session identifier passed via a GET or POST request, 
or passed via a cookie. 

講究最後兩行代碼:

<?php 
// page1.php 

session_start(); 

echo 'Welcome to page #1'; 

$_SESSION['favcolor'] = 'green'; 
$_SESSION['animal'] = 'cat'; 
$_SESSION['time']  = time(); 

// Works if session cookie was accepted 
echo '<br /><a href="page2.php">page 2</a>'; 

// Or maybe pass along the session id, if needed 
echo '<br /><a href="page2.php?' . SID . '">page 2</a>'; 
?> 
+1

也從[手冊](http://www.php.net/manual/en/session .configuration.php#ini.session.use-only-cookies) - session.use_only_cookies指定模塊是否僅使用cookie在客戶端存儲會話ID。啓用此設置可防止涉及在URL中傳遞會話標識的攻擊。這個設置是在PHP 4.3.0中添加的。自PHP 5.3.0起,默認爲1(啓用)。 – Orangepill

+0

@Orangepill吧!謝謝你的評論! – alfasin

+0

謝謝。我測試了代碼。點擊「第2頁」後,結果仍爲0,表示沒有傳遞給第2頁的會話變量值。第2頁中的 – user2596579