问题很简单,但我搜索的方式很多,结果与我的问题无关。
所以,如果我在php文件中有一个会话变量,如果我在那之后再打开一个html页面然后又是一个php文件,我能够检索数据吗?或者它们都必须相邻吗?
我试过php->html->php
,但我无法在另一方获得变量。也许我做错了什么。
提前致谢
答案 0 :(得分:5)
不是100%肯定你的意思,但如果你在浏览器中“打开”,则呼叫不需要相邻。您只需要在每个要使用会话数据的PHP脚本中执行session_start()
。
答案 1 :(得分:2)
是的......会话变量可以存活php->html->php
。
但是在每个php页面上......第一行应该是session_start()
答案 2 :(得分:2)
邻接并不是与这个问题真正相关的东西。
以PHP的方式,会话本质上是包含服务器上的序列化数据的文件。调用包含session_start()调用的脚本的浏览器会收到一个特殊标记,用于标识服务器上的会话,并且通常(但不一定)存储为cookie。
这实际上意味着任何使用session_start()并接收会话ID(通过cookie或其他方式)的php脚本都将读取并可以使用会话数据,除非它在调用或会话之间从服务器文件系统中删除已过期(坦白说,我不确定PHP是否删除了服务器端过期的会话)。
使用浏览器(html页面甚至其他网站)访问此模型之外的任何内容都不会以任何方式影响它,除非这些操作更改或删除会话ID。
答案 3 :(得分:-1)
这种简单的方法(我猜):设置一个cookie ,在第一个php页面上存储会话ID。这样,每个其他php页面都可以访问会话ID并使用它来恢复存储的数据,而不管它们之间有多少(甚至是外来的)页面。