我存储了某些凭据,例如从会话变量中的Twitter OAuth提供程序获取的OAuth Secret和OAuth Token Secret如下:
$_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()
。