Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilberto Jr

Variavel $_SESSION PHP

Recommended Posts

Pessoa, o que tem de errado nesse código que a variável $_SESSION não funciona?

<?php 

	header("Content-type: text/html; charset=utf-8");

	session_start();

	$usuariot = $_POST['usuario'];
	$senhat = $_POST['senha'];

	//echo $usuariot.' - '.$senhat;

	include('../conexao.php');

	$result = mysql_query("select nome_exibicao from cad_usuarios where login='$usuariot' and senha='$senhat' limit 1");
	$resultado = mysql_fetch_assoc($result);

	echo "Usuário: ".$resultado['nome_exibicao'];

	if(empty($resultado)){

		//Mensagem de erro.
		$_SESSION["loginErro"] = "Usuário ou senha inválido";
		
		//Manda o usuario para a tela de login.
		header("Location: index.php");
		
	}

	//echo $_SESSION["loginErro"];


	mysql_close($conecta);

 ?>

Quando o usuário faz o acesso, e a senha ou login esteja errado o sistema volta para a tela index.php. Onde tem o formulário de LOGIN.

    <div class="container">

      <form class="form-signin" method="post" action="logar2.php">
        <h2 class="form-signin-heading text-center">Área Restrita</h2>
        <label for="inputEmail" class="sr-only">Usuário</label>
        <input type="text" name="usuario" class="form-control" placeholder="Digite o Usuário" required autofocus><br>
        <label for="inputPassword" class="sr-only">Senha</label>
        <input type="password" name="senha" class="form-control" placeholder="Digite a Senha" required>
        <div class="checkbox">
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Acessar</button>
      </form>
          <p class="">
			<?php
				if(isset($_SESSION["loginErro"])){
					echo $_SESSION["loginErro"];
					unset($_SESSION["loginErro"]);
				}
			?>
		  </p>
    </div> <!-- /container -->

E dentro da TAG <p></p> o sistema deveria imprimir o valor da $_SESSION['loginErro'].

 

Se alguém puder me ajudar.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

você está dando partida na sessão na página que vai exibir o erro?

session_start();
print $_SESSION['loginErro'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu uso o código que você passou apresenta o seguinte erro.

 

Notice: Undefined index: loginErro in D:\Sites\PHP\EasyPHP-12.1\www\fabiolaCorretora\conection\index.php on line 10


Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera, fiz o seguinte e deu certo.

 

Dentro do arquivo PHP.INI a informação disable_classes = estava em branco.

 

Dai eu mudei para disable_classes = On e funcionou.

 

A também criei uma pagina register_globals.php com a seguinte informação

/**
 * function to emulate the register_globals setting in PHP
 * for all of those diehard fans of possibly harmful PHP settings :-)
 * @author Ruquay K Calloway
 * @param string $order order in which to register the globals, e.g. 'egpcs' for default
 * @link hxxp://www.php.net/manual/en/security.globals.php#82213
 */
function register_globals($order = 'egpcs')
{
    // define a subroutine
    if(!function_exists('register_global_array'))
    {
        function register_global_array(array $superglobal)
        {
            foreach($superglobal as $varname => $value)
            {
                global $$varname;
                $$varname = $value;
            }
        }
    }
   
    $order = explode("\r\n", trim(chunk_split($order, 1)));
    foreach($order as $k)
    {
        switch(strtolower($k))
        {
            case 'e':    register_global_array($_ENV);       break;
            case 'g':    register_global_array($_GET);       break;
            case 'p':    register_global_array($_POST);      break;
            case 'c':    register_global_array($_COOKIE);    break;
            case 's':    register_global_array($_SERVER);    break;
        }
    }
}

/**
 * Undo register_globals
 * @author Ruquay K Calloway
 * @link hxxp://www.php.net/manual/en/security.globals.php#82213
 */
function unregister_globals() {
    if (ini_get(register_globals)) {
        $array = array('_REQUEST', '_SESSION', '_SERVER', '_ENV', '_FILES');
        foreach ($array as $value) {
            foreach ($GLOBALS[$value] as $key => $var) {
                if ($var === $GLOBALS[$key]) {
                    unset($GLOBALS[$key]);
                }
            }
        }
    }
}

?>

e na pagina onde eu quero usar a SESSION eu coloco esse código

	session_start();
	include('register_globals.php');
	register_globals();

O session_start(); eu uso em todas as paginas que vou usar uma SESSION.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.