我正在用PHP开发一个应用程序,我需要使用会话。 我用三层体系结构开发了我的应用程序。刷新后PHP会话无法检测
我只使用一个PHP页面和哑表单来提交用户动作,并且所有处理都是通过实体/函数特定的类进行的。
当页面第一次打开时,我检查变量,如果它从未打开过,我提出登录表单。
当我收到此表后我检查用户时,如果用户确定我开始会话
if(isset($_POST['login']))
{
if($_POST['login']=='login')
{
//valida user
$accoes=$du->login($_POST['username'],$_POST['password']);
if($accoes===false)
{
echo "<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">";
echo "alert('Erro no Login');";
echo "</SCRIPT>";
unset($accoes);
}
else
{
//utilizador valido
echo "<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">";
echo "alert('Utilizador válido');";
echo "</SCRIPT>";
session_start();
$user="teste";
$screen="logged";
$_SESSION['user']=$user;
}
}
}
虽然当这个页面是通过用户操作刷新我无法看到会议ID和会话变量。
我是否缺少类似session_commit或其他指令的内容?
session_start()在尝试切换会话变量之前是否也出现?
它可能是PHP.ini文件中缺少的东西?
当我重装我做的第一件事是会话变量检查
if(session_id() != '') {
$user=$_SESSION['user'];
}
我知道我应该知道如何解决这个问题,但直到现在我用PHP的经验是扔的Flex/Flash的那么会话管理并不是真的有必要。
感谢您的帮助
没有你叫在顶部为每个页面的session_start()? – 2013-03-25 16:36:59
*应该session_start()也出现在试图chech会话变量之前?*是 – Tchoupi 2013-03-25 16:38:40