Ir para conteúdo
Fórum Script Brasil
  • 0

Variável $_SESSION não grava


Raiuga

Pergunta

Olá,

Sou uma iniciante na programação. Será que me podem ajudar? A minha $_SESSION não está a passar de uma página para a outra.

Página index.php:

 

<html>
    <head>
        <title>Login Test</title>
    </head>
    <body>
        <form name="formlogin" method="post" action="userauthentication.php">
            E-mail: <input type="text" name="email"><br><br>
            Senha: <input type="password" name="senha"><br><br>
            <input type="submit" value="Login">
        
        </form>
    </body>
</html>

 

De seguida vou verificar se os dados inseridos estão correctos.

Página userauthentication.php:

 

<?php session_start();
$host = "HOST";
$user = "USER";
$pass = "PASS";
$bd = "BD";
$conn = mysqli_connect($host, $user, $pass, $bd) or die(mysqli_error());
?>

<html>

<head>
<title>Login Sucesso</title>
<script type="text/javascript">
function loginsuccessfully() {
	setTimeout("window.location='backoffice.php'",1000);
}
function loginfailed(){
	setTimeout("window.location='index.php'",5000);	
}
</script>
</head>

<body>
<?php
$email=$_POST['email'];
$senha=$_POST['senha'];
$sql = mysqli_query($conn, "SELECT * FROM login WHERE email = '$email' and senha = '$senha'") or die(mysqli_error()) ;
$row = mysqli_num_rows($sql);
if($row > 0){
		
		$SESSION['email']=$email;
		$SESSION['senha']=$senha;
		echo "<center>Login feito com sucesso</center>";
		echo "<script>loginsuccessfully()</script>";
} else{
	echo "<center>E-mail ou senha inv&aacute;lidos!</center>";
	echo "<script>loginfailed()</script>";
}
?>
</body>

</html>

 

 

 

O problema está quando chego à página backoffice.php. Está sempre a retornar para a página de login, ou seja, não está a gravar a variável session.

Página backoffice.php:

 

<?php
	session_start();
	$email=$_SESSION['email'];
	$senha=$_SESSION['senha'];
	$host = "HOST";
	$user = "USER";
	$pass = "PASS";
	$bd = "BD";
	$conn = mysqli_connect($host, $user, $pass, $bd) or die(mysqli_error());
?>

<?php
	    if(!isset($email) || !isset($senha)){
	        header("Location: index.php");
	        exit;
	    } else{
	        echo "<center>Já tem login feito</center>";
	    }
?>

<html>

<head>
<title>Login Sucesso</title>
<script type="text/javascript">
function loginsuccessfully() {
    setTimeout("window.location='backoffice.php'",1000);
}
function loginfailed(){
    setTimeout("window.location='index.php'",5000);    
}
</script>
</head>

<body>
<?php
$email=$_POST['email'];
$senha=$_POST['senha'];
$sql = mysqli_query($conn, "SELECT * FROM login WHERE email = '$email' and senha = '$senha'") or die(mysqli_error()) ;
$row = mysqli_num_rows($sql);
if($row > 0){
        
        $SESSION['email']=$email;
        $SESSION['senha']=$senha;
        echo "<center>Login feito com sucesso</center>";
        echo "<script>loginsuccessfully()</script>";
} else{
    echo "<center>E-mail ou senha inválidos!</center>";
    echo "<script>loginfailed()</script>";
}
?>
</body>

</html>

Alguém me ajude sff, Obrigada!

Editado por Raiuga
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...