我一定保存的憑證,如OAuth的祕密和OAuth令牌密鑰內會話變量是從Twitter的OAuth的提供商獲取如下:PHP:會話變量中存儲的訪問令牌上的表單提交失去
$_SESSION['o_token'] = $access_token['oauth_token'];
$_SESSION['o_token_secret'] = $access_token['oauth_token_secret'];
要使確保訪問令牌確實存儲在我的會話變量中,我試圖在提交表單之前在屏幕上回顯它們,並且正如預期的那樣,顯示了令牌。
現在,我有一個表單,並且在提交表單時,會話變量中存儲的訪問令牌將丟失。當我嘗試呼應了這樣的事情我提交表格後:
if(isset($_POST['submitted']))
{
echo $_SESSION['o_token'];
}
沒有東西顯示出來,因爲裏面存放$_SESSION['o_token']
值現在是空的。
當表單提交後,我的會話變量中存儲的訪問令牌數據是否丟失?
PS:爲了確認,只有在訪問令牌數據丟失的表單提交,而不是其他會話變量數據,我試圖定義一個模擬會話變量:
$_SESSION['mock'] = "mock";
,然後試圖以後呼應它表單提交:
if(isset($_POST['submitted']))
{
echo $_SESSION['mock'];
}
上面的代碼確實顯示mock
,這意味着存儲會話變量內僅訪問令牌數據丟失。
這裏似乎有什麼錯?
編輯:是的,我在我的代碼的開始處包含了session_start()
。
你在每個頁面的頂部調用'session_start()'? – nomistic
@nomistic是的我。 –