我有一個正式的代碼,但會話變量不能傳遞給另一個頁面。 所以這裏是我的示例代碼。然而,這段代碼的結果是0:php會話無法將變量傳遞給其他頁面
第1頁代碼:
<?php
session_start();
$_SESSION['try'] = 5;
header('Location: page2.php');
?>
第2頁代碼:
<?php
session_start();
$test = $_SESSION['try'];
echo $test;
?>
我有一個正式的代碼,但會話變量不能傳遞給另一個頁面。 所以這裏是我的示例代碼。然而,這段代碼的結果是0:php會話無法將變量傳遞給其他頁面
第1頁代碼:
<?php
session_start();
$_SESSION['try'] = 5;
header('Location: page2.php');
?>
第2頁代碼:
<?php
session_start();
$test = $_SESSION['try'];
echo $test;
?>
從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>';
?>
也從[手冊](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
@Orangepill吧!謝謝你的評論! – alfasin
謝謝。我測試了代碼。點擊「第2頁」後,結果仍爲0,表示沒有傳遞給第2頁的會話變量值。第2頁中的 – user2596579
Cookie是否關閉?如果是這樣,那麼你需要將session_id傳遞到你的會話中 –
Cookies與'$ _SESSION'變量無關 – adamdehaven
$ test是否必須有雙等號? –