你不需要session_start
之前if
。直接调用它:session_start();
。如果会议已经开始,它不会造成任何伤害。
看来你的“启动会议”错误的概念。好了,不完全是错的...你看:“在session_start()”不不“启动对话”中,你可能会想感,也就是说,你把它一次和“会话已‘开始’ ”。不,你需要调用“在session_start” 总是,在每 PHP脚本将处理会话的开始。
例如,在login.php
:
session_start();
if ($user_and_pass_are_correct)
{
$_SESSION['username'] = $username;
}
在somepage.php
:
session_start();
echo 'User name is ' . $_SESSION['username'];
你还需要 “在session_start” 呼叫那里。这并不意味着“会议的开始”。这意味着“初始化会话的东西,所以我可以使用会话”。
通常的做法是在“引导”类型的脚本中包含一个session_start
,并将其包含在所有其他脚本的开头。
“bootstrap.php中”
<?php
session_start(); // first line of script
initialize_other_stuff();
“a_page.php”
<?php
include('bootstrap.php'); // first line of script
“another_page.php”
<?php
include('bootstrap.php'); // first line of script, always
如果我删除if ,我g等我的浏览器以下消息: 注意:一个会议已经开始了 - 忽略在session_start() – sharath 2012-03-04 15:05:06
好吧,你可以保持'if'。我的条件改为'如果(空(SESSION_ID()))' - 见http://br.php.net/manual/en/function.session-id.php( “返回值” 一节) – 2012-03-04 15:08:51
作品!谢谢你们:) – sharath 2012-03-04 16:01:50