2012-07-25 96 views
1

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

然后当我登录密码进行身份验证,我写 $_SESSION["username"] = $_POST["userid"]

现在我需要做别的事情,以及以确保会话开始了维持?因为只要它登录,它会自动注销?这是否意味着会话一旦我登录即失效?在那种情况下,我应该怎么做才能让会议维持?

+0

会话在您关闭浏览器时过期。 Cookie设置一段时间。 http://www.w3schools.com/php/php_sessions.asp http://www.w3schools.com/php/php_cookies.asp – 2012-07-25 09:15:44

+0

你一旦登录就会做什么,它会自动注销? – asprin 2012-07-25 09:15:55

回答

1

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

0

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

1

不,会议是为了留在请求之间的会话数据的所有文件的顶部需要session_start();。如果您在下一次请求时读取$_SESSION['username'],它将包含您在先前请求中保存的数据。显然,您需要在每个要与其交互的页面的开始处放置session_start();

+0

我认为会议不仅仅是“请求之间” - http://en.wikipedia.org/wiki/Session_(computer_science) – Alex 2012-07-25 09:26:42

+0

我们正在谈论PHP中的会话含义,因此这种简化是可能的。 – 2012-07-25 09:28:12

0

顶部,session_start();也要在每个页面上使用会话,你需要这个功能。

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