Jump to content
abnerndr

Direcionamento de login

Recommended Posts

O login já está no banco de dados , como validar ele e redirecionar caso esteja correto ?

 

 

Eu já criei o banco de dados e tudo mas não consigo redirecionar caso o login esteja correto, já vi em vários forums mas não consegui. Podem me ajudar?

<?php
$host = "mysql:dbname=bd_cad_log;host=localhost";
$user = "root";
$pass = "";

try{
  $pdo = new PDO($host, $user, $pass);
} catch (PDOExecption $e){
    echo "Falha: ". $e->getMessage();
}

$nome = $_POST['nome'];
$senha = md5($_POST['senha']);

$pdo -> query("INSERT INTO tabela_cad WHERE status='1' and nome='$nome' and senha='$senha'");


?>

Share this post


Link to post
Share on other sites

@abnerndr

 

Você está fazendo um "INSERT".

 

Você precisa pegar o que veio do seu formulário de login o nome do usuário e a senha, daí você usa a sua conexão com o banco de dados para fazer uma consulta.

 

Veja se o nome de usuário passado existe no banco de dados e veja se a senha passada é idêntica a senha do banco.

 

Share this post


Link to post
Share on other sites

Bem vamos lá!

 

Como o @Thiago Az disse, você está fazendo um INSERT

quando deveria estar realizando um SELECT, assim, não

verificando os dados obtidos via formulário.

 

Segue exemplo de validação de login:

 

SQLs A SER UTILIZADAS

CREATE TABLE admins (
	idAdmin  INT NOT NULL AUTO_INCREMENT,
	nomeAdmin VARCHAR(100) NOT NULL,
	email VARCHAR(255) NOT NULL,
	senha VARCHAR(30) NOT NULL,
	PRIMARY KEY(idAdmin)
);
INSERT INTO admins (nomeAdmin, email, senha) VALUES
('Antônio Roberto', 'antonio007@hotmail.com', 'antonio123'),
('Jaldemir Palhano', 'jaldemir_fbi@hotmail.com', 'senhasuperforte321');

 

CÓDIGO PHP + HTML

<?php

# "VERIFICA SE O FORM FOI EXECUTADO"
if ( $_POST ) {

	# SIMPLE CONN
	$pdo = new PDO ( 'mysql:dbname=SEU_BANCO;host=localhost', 'username', 'password' );

	$email = $_POST [ 'email' ];
	$senha = $_POST [ 'senha' ];

	# PREPARA A SQL
	$step1 = $pdo->prepare ( 'SELECT * FROM admins WHERE email = ? AND senha = ?' );
	# "COLOCA OS PARÂMETROS"
	$step1->bindValue ( 1, $email );
	$step1->bindValue ( 2, $senha );
	# EXECUTA A SQL
	$step1->execute ();

	# "RETORNA OS DADOS DA CONSULTA"
	# NO FORMATO DE OBJETO
	$retorno_login = $step1->fetch ( PDO::FETCH_OBJ );

	# VERIFICA SE FOI ENCONTRADO ALGO
	# CASO CONTRARIO ENVIA O USUÁRIO
	# A UMA PÀGINA DE ERRO
	if ( $retorno_login !== false ) {

		# LOGIN EFETUADO!!!
		# AGORA ENVIA O USUARIO PARA A 
		# PÀGINA DE PERFIL
		header ( 'Location: meu_perfil.php' );

	} else {

		# LOGIN NÂO EFETUADO!!!
		echo "E-Mail ou Senha incorretos!";

	}
}

?>

<!DOCTYPE HTML>
<html>
	<head>
		<title> EXAMPLE </title>
	</head>

	<body>
		<form action="#" method="post">
			<label>E-Mail:</label>
			<input type="email" name="email" placeholder="Digite seu Email" />

			<br />

			<label>Senha:</label>
			<input type="password" name="senha" placeholder="Digite sua Senha" />

			<br />

			<input type="submit" value="Verificar" />
		</form>
	</body>
</html>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Klash1
      Eae galera!

      Estou fazendo uma página de login e estou com um pequeno problema. Gostaria de saber como mostrar a mensagem de Usuário ou senha incorreta, em baixo do formulário. No meu, está abrindo a página em branco e dando a mensagem de erro.

      Quero que aparece a mensagem de erro, aqui:
       

       
      Porém, está aparecendo assim:
       

       
      Código index.php:
       
      <!DOCTYPE html> <head> <meta charset="utf-8"> <title> Área Restrita - Hércules </title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <link href="bootstrap/css/style.css" rel="stylesheet"> </head> <body background="bootstrap/img/bc.jpg" style="max-width: 100%; height: auto;" class="login"> <div class="login-page"> <div class="form"> <form method="post" action="login.php"> <img src="bootstrap/img/perfil.png" class="rounded" alt="Login"> <input type="text" name="email" placeholder="Email" required></br> <input type="password" name="senha" placeholder="Senha" required></br> <button type="submit" class="btn btn-success btn-lg btn-block">Entrar</button> </form> </div> </div> </body> </html>  
      Código login.php
       
      <?php include("conexao.php"); if(isset($_POST['email']) && isset($_POST['senha'])){ $email = $_POST['email']; $senha = $_POST['senha']; $teste = md5($senha); $get = mysql_query("SELECT * FROM usuarios WHERE email = '$email' AND senha = '$senha'"); $num = mysql_num_rows($get); if($num == 1){ while($percorrer = mysql_fetch_array($get)){ $adm = $percorrer['adm']; $nome = $percorrer['nome']; session_cache_expire(10); session_start(); if($adm == 1){ $_SESSION['adm'] = $nome; } else{ $_SESSION['nor'] = $nome; } echo '<script type="text/javascript">window.location = "index.html"</script>'; } }else{ echo "Email ou senha incorreta"; } } ?>  
      Obrigado pela ajuda!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.