所有教程都说要开始会话。他们没有说这应该是在网站的所有页面上,还是在某些页面上,或者仅仅是1.
如果它只有1页,那它必须是主页吗?或者我正在制作表单的页面将会话ID放在数据库中?如果访问者从未访问过具有会话ID的网页,但他们在网站上,那么他们是否还有会话ID?
答案 0 :(得分:21)
在访问(或创建)任何会话数据之前,您需要将其放在需要访问会话数据的每个页面中。
答案 1 :(得分:15)
只是为了完整性,您可以选择在所有页面中编写session_start();
,只在其中一个页面中或不在其中。让我解释一下。
您需要在需要访问$_SESSION
变量的每个脚本中启动会话,但不是在每个脚本中放置session_start();
,而是可以创建文件headers.php并将所有重复代码放在那里包括session_start();
如果您的应用程序中的所有内容都需要访问$_SESSION
,您可以忘记使用session_start();
在php.ini文件中设置session.auto_start = 1
。您无需先写$_SESSION
即可访问session_start();
。
答案 2 :(得分:0)
任何要访问会话变量的东西都需要启动会话。
因此,除非你有一个不依赖于会话的php页面,否则比每个页面都需要它。
答案 3 :(得分:0)
你需要声明session_start();在每个页面中,如果您想从$ _SESSION获取数据或将数据存储到这些特定页面中的$ _SESSION。如果您不需要与$ _SESSION交互,那么您不必声明session_start()。@ hmwhat