Redirect login page does not match

Asked

Viewed 152 times

3

I’m having trouble redirecting the user after login.

I need help to find a solution.

valida_user_login.php

<?php
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'bd_';
// Conecta-se ao banco de dados MySQL
$con = new mysqli($servidor, $usuario, $senha, $banco);
// Check conexão
if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
} 
// Muda o bd
mysqli_select_db($con,"bd_");

//insere os dados recebidos pelo formulario
$email_cad = mysqli_real_escape_string($con, $_POST['email_cad']);
$senha_cad = mysqli_real_escape_string($con, $_POST['senha_cad']);

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (empty($_POST)){
	header("Location: pg_login.php"); 
	exit;
}
$sql = "SELECT INTO usuarios (email_cad, senha_cad) VALUES ('$email_cad', '$senha_cad')";

$result = $con->query($sql);

if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
        if ($row != 1) {
 		 // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
 		 header("Location: pg_login.php"); exit;
		} else {
  			// Salva os dados encontados na variável $resultado
   			$resultado = mysqli_fetch_assoc($result);
  			// Se a sessão não existir, inicia uma
  			if (!isset($_SESSION)) {
  				session_start();
  				// Salva os dados encontrados na sessão
  				$_SESSION['email_cad'] = $resultado['email_cad'];
  				// Redireciona o visitante
 				 header("Location: pg_resultado.php"); exit;
				}else{
    				header("Location: pg_cadastro.php"); 
				}
			}
	}
}
$con->close();
?>

  • This is a strange code, select into is normally used to copy data from a table to a new one. This should be a normal select as a WHERE if only a record will return no need of while, you can use the limit if you want.

1 answer

4


<?php
session_start();
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'bd_';
// Conecta-se ao banco de dados MySQL
$con = new mysqli($servidor, $usuario, $senha, $banco);
// Check conexão
if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
} 
// Muda o bd
mysqli_select_db($con,"bd_");

//insere os dados recebidos pelo formulario
$email_cad = mysqli_real_escape_string($con, $_POST['email_cad']);
$senha_cad = mysqli_real_escape_string($con, $_POST['senha_cad']);

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (empty($_POST)){
	header("Location: pg_login.php"); 
	exit;
}
$sql = "SELECT INTO usuarios (email_cad, senha_cad) VALUES ('$email_cad', '$senha_cad')";

$result = $con->query($sql);

if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
        if ($row != 1) {
 		 // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
 		 header("Location: pg_login.php"); exit;
		} else {
  			// Salva os dados encontados na variável $resultado
   			$resultado = mysqli_fetch_assoc($result);
$_SESSION['logado'] = $resultado;
  			// Se a sessão não existir, inicia uma
  			if ($_SESSION['logado']==false) {

 				// Redireciona o visitante
 				 header("Location: pg_resultado.php"); exit;
				}else{
    				header("Location: pg_cadastro.php"); 
				}
			}
	}
}
$con->close();
?>

I would do so, modifying and creating the Sesssions, after Login, on the logged-in user’s page, give a session_start() at the beginning of it, and a print_r($_SESSION['logged']); and retrieve the results.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.