我有一個奇怪的問題,當我在同一個頁面上清除會話變量時,我試圖回顯它。這是我想要做的事情的一個快速輸入。如果在同一頁面上清除會話變量不會回顯?
以此爲例;
A頁:
$_SESSION['referer'] = 'abc123';
header('Location: http://www.test.com/pageb.php');
exit();
網頁B:
function get_referer() {
$referer = '';
if (isset($_SESSION['referer'])) {
$referer = $_SESSION['referer'];
$_SESSION['referer'] = null;
unset($_SESSION['referer']);
}
echo $referer;
}
現在我做這個用的功能網頁B時...
如果我運行所有它本身的作品:
get_referer();
當我在輸入的值屬性中運行echo(確保只在頁面上運行一次函數,因爲它在被調用後被擦除),當我查看源頁面時,它沒有回顯任何內容。
<input type="hidden" name="referer" value="<?php get_referer(); ?>" />
然而,有趣的是,如果我使輸入類型=「文本」,它工作正常。
<input type="text" name="referer" value="<?php get_referer(); ?>" />
問題只發生在輸入型=「隱藏」
我無法複製。請給我們完整的源代碼。我假設你記得兩個頁面上的'session_start()'? – kba
不錯的工作準確定位和展示問題(雖然我忍不住)。 – octern
@Kristian Antonsen,我嘗試了我的例子,並注意到它在原始上下文中工作。我更新了這個問題來進一步探討我的問題。 – Fase