Pesquisar na Comunidade
Mostrando resultados para as tags ''não grava''.
Encontrado 1 registro
-
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á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!