在1页或所有页面上开始写会话?

时间:2011-08-20 03:44:13

标签: php mysql session session-variables

所有教程都说要开始会话。他们没有说这应该是在网站的所有页面上,还是在某些页面上,或者仅仅是1.

如果它只有1页,那它必须是主页吗?或者我正在制作表单的页面将会话ID放在数据库中?如果访问者从未访问过具有会话ID的网页,但他们在网站上,那么他们是否还有会话ID?

4 个答案:

答案 0 :(得分:21)

在访问(或创建)任何会话数据之前,您需要将其放在需要访问会话数据的每个页面中。

请参阅:http://php.net/manual/en/function.session-start.php

答案 1 :(得分:15)

只是为了完整性,您可以选择在所有页面中编写session_start();,只在其中一个页面中或不在其中。让我解释一下。

您需要在需要访问$_SESSION变量的每个脚本中启动会话,但不是在每个脚本中放置session_start();,而是可以创建文件headers.php并将所有重复代码放在那里包括session_start();

如果您的应用程序中的所有内容都需要访问$_SESSION,您可以忘记使用session_start();在php.ini文件中设置session.auto_start = 1。您无需先写$_SESSION即可访问session_start();

More here

答案 2 :(得分:0)

任何要访问会话变量的东西都需要启动会话。

因此,除非你有一个不依赖于会话的php页面,否则比每个页面都需要它。

答案 3 :(得分:0)

你需要声明session_start();在每个页面中,如果您想从$ _SESSION获取数据或将数据存储到这些特定页面中的$ _SESSION。如果您不需要与$ _SESSION交互,那么您不必声明session_start()。@ hmwhat