用于用户身份验证的PHP会话


PHP session for user authentication

我将使用cookie和会话来识别用户。因此,只有当用户选择"不记得我"选项时,会话才会被使用。我在网站的每个页面的顶部都包含了身份文件。用户的会话看起来像$_SESSION['user']

我的问题是:

我必须向身份验证文件放置session_start()指令吗?我之所以要求它,是因为每次使用此指令时都会创建新的会话。

更新http://pastebin.com/Nh3zj6mR用户标识脚本

是的,您必须将session_start()放置在每个php页面的顶部(在生成任何输出之前,之前必须没有发送任何标头),以告诉php接受/启动会话,期望您的php.ini已设置,会话将自动启动。

我之所以要求它,是因为每次使用此指令时都会创建新的会话<lt;

这是一个提示,您的浏览器忽略(不允许)会话cookie

除非执行session_start(),否则PHP的会话机制将NOT激活。$_SESSION将存在,您可以读取/修改它,但它的值不会持久化-例如…脚本退出时,内容将丢失。

如果您在每个使用会话数据的脚本中运行session_start(),但会话数据没有显示,那么可能是配置错误导致会话cookie丢失,PHP每次都会创建一个新的会话。