我将使用Cookie和会话来识别用户。因此,仅当用户选择“不记得我”选项时才会使用会话。
我将识别文件包含在网站每个页面的顶部。
用户会话看起来像$_SESSION['user']
而不是我的问题:
我必须放入身份验证文件session_start()
指令吗?我问它是因为每次使用此指令时都会创建新会话。
更新 http://pastebin.com/Nh3zj6mR用户识别脚本
答案 0 :(得分:1)
除非您执行session_start()
,否则PHP的会话机制将 NOT 激活。 $ _SESSION将出现,您将能够读取/修改它,但它的值不会被保留 - 例如...当脚本退出时内容将丢失。
如果您在使用会话数据的每个脚本中运行session_start(),但会话数据未显示,则可能是配置错误导致会话cookie丢失,并且PHP每次都创建一个新会话。
答案 1 :(得分:1)
是的,您必须将 session_start()放在每个 php 页面的顶部(在生成任何输出之前,之前没有必须发送标头)告诉php接受/开始会话,期待 php.ini 设置,会话自动启动。
我问过它,因为每次使用此指令都会创建新会话。<<
这是一个暗示,您的浏览器忽略(禁止)会话Cookie