在我的index.php文件中,我调用session_start()
并设置了几个会话变量.在第二个PHP文件中,我想访问这些会话变量.
事实上,这个PHP文件纯粹是一个后端脚本,并在触发JavaScript函数时被POST.当POST调用尝试执行第二个PHP文件中的脚本时,错误日志报告:
_SESSION
是一个未定义的变量.
我试过调用start_session()
并session_regenerate_id()
在第二个PHP文件的顶部,但问题仍然存在.
我假设发生的事情是因为它在POST中这个PHP文件在它自己的会话中,因为我仍然可以这样做$_COOKIE[ini_get('session.name')]
.
我试图传递给第二个PHP文件的信息不是任何需要保护的信息,但将来很高兴知道如何执行此操作:通过POST调用PHP文件并仍然拥有我的会话变量.
dec*_*eze 56
关于POST请求和会话没有任何特别之处.
您只需要session_start
在每个 要使用会话的文件请求的顶部调用,就是这样.
再考虑一下,它应该工作.
session_start();
Run Code Online (Sandbox Code Playgroud)
这是大多数话题的答案.我一直在努力解决这个问题,我用这段代码解决了我的问题
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
if(session_id() == '') {session_start();}
} else {
if (session_status() == PHP_SESSION_NONE) {session_start();}
}
Run Code Online (Sandbox Code Playgroud)