会话无法正常工作 - PHP

时间:2013-03-27 15:26:57

标签: php session

我在PHP中遇到了一些问题。之前,我有一个网站,而不是我正在改进布局。我认为这很容易,但很多事情都发生了变化。例如: 在我宣布像$Variable = $_SESSION['test'];这样的变量并且工作正常之前,即使没有issets的情况。现在,它表示该变量未被声明。

嗯,这只是为了获取信息。我的问题是登录会话。我正在尝试创建一个函数来验证用户是否已登录(如果没有,则用户将是“匿名”。

这是用于记录用户的.php文件。它适用于JQuery脚本,只是为了不刷新页面。

<?php
session_start();

include_once ($_SERVER['DOCUMENT_ROOT'] . '/inclusoes/Conexao.php');
include_once ($_SERVER['DOCUMENT_ROOT'] . '/classes/Funcoes.php');
$Funcoes = new Funcoes();

$Login = $_POST['dado_login'];
$Senha = $_POST['dado_senha'];
$Mensagem = array();

if (empty($_POST['dado_login']))
  $Mensagem[] = "<img src='../imgs/Error.png'><span style='color: red; font-weight: bold;'> Please, enter username.</span>";

elseif (empty($_POST['dado_senha']))
  $Mensagem[] = "<img src='../imgs/Error.png'><span style='color: red; font-weight: bold;'> Please, enter password.</span>";

$countError = count($Mensagem);

    if($countError > 0)
    {
        for($i=0;$i<$countError;$i++)
          /*echo ucwords($Mensagem[$i]) . ' ';*/
          echo $Mensagem[$i];
    }
    else
    {
      $Query = "SELECT id_usuario, nick, senha FROM usuarios WHERE nick = '$Login' && senha = '$Senha'";
//        $LoginCorreto = mysql_query($Query, $conexao) or die (mysql_error());
      $LoginCorreto = $Funcoes->MySQLError($Query, $conexao);
      $ChecarUsuario = mysql_num_rows($LoginCorreto);

        if ($ChecarUsuario > 0)
        {
          $_SESSION["sessionUsuario"] = $Login;
          echo 'Correct';
        }
        else
        {
          echo "<img src='../imgs/Error.png'><span style='color: red; font-weight: bold;'> Login failed. Please, try again.</span>";
        }
    }
?>

这是功能,非常简单。

    function isLogado()
{
    if (!isset($_SESSION['usuarioSession']))
      return false;
    else
      return true;
}

这就是我正在做的事情

include ('functions.php');
$Funcoes = new Funcoes();

if (!$Funcoes->isLogado)
  *show the login form*
else
  *welcome, User!*

会话始终为空,或未设置。如果你'回应'会话,它将不会显示任何内容。在我写$Variable = $_SESSION['test']并且没有发生错误之前,从来没有。

如何解决?谢谢你提前。

0 个答案:

没有答案