Ir para conteúdo
Fórum Script Brasil

Raiuga

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Raiuga

  1. 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!

×
×
  • Criar Novo...