1

我正在php中创建一个登录模块。我为此使用会话变量。在文件的顶部,我写 session_start();

然后当我的登录密码通过身份验证时,我写 $_SESSION["username"] = $_POST["userid"]

现在我还需要做其他事情来确保开始的会话能够持续吗?因为一旦登录,它就会自动注销?这是否意味着会话在我登录后立即到期?在那种情况下,我应该怎么做才能使会话持续下去?

4

5 回答 5

1

不,会话旨在停留在请求之间。如果您$_SESSION['username']在下一个请求中阅读,它将包含您在上一个请求中保存的数据。显然,您需要将session_start();要与之交互的每个页面放在开头。

于 2012-07-25T09:15:56.223 回答
1

把 session_start(); 在您将使用会话变量的页面顶部。并确保您没有在登录脚本中取消设置会话。

于 2012-07-25T09:18:19.497 回答
0

session_start()不启动会话,它启动会话引擎。它必须在您想要访问会话的每个页面上运行。

于 2012-07-25T09:15:38.047 回答
0

您需要session_start();在要访问 Session 数据的所有文件的顶部

于 2012-07-25T09:15:38.827 回答
0

在顶部,session_start();还要在您要使用会话的每个页面上放置,您需要此功能。

只要您没有删除会话或关闭浏览器,会话就会持续,不确定它是否会在某个时间过期。要检查您是否仍处于登录状态,您可以使用 访问会话$username = $_SESSION['username'];,或者该功能isset($_SESSION['username'])也有帮助。

于 2012-07-25T09:24:40.013 回答