Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

deehhalves

Validação de login

Recommended Posts

Tenho um formulário de login onde pego minhas informações do banco (obvio). Porém, para verificar se o login existe e pra ele logar eu envio para uma outra página que faz a validação, mas eu queria que essa verificação fosse na mesma página, sem precisar enviar pra outra.

 

Como faço?

<form name="login-form" class="login-form" action="login_valid.php" method="post">
<div class="header">
<center><img src="img/logo.png" style="width: 110px; margin-left: 20px; margin-top: 20px;" ><center>
<h1>Faça seu login</h1>
<span>Preencha o formulário corretamente para acessar sua conta.</span>
</div>


<div class="content">
<input name="username"  required type="email" class="input username" placeholder="E-mail"  />
<input name="password"  required type="password"  maxlength="8" class="input password" placeholder="Senha"  />
</div>
<?php
include('conexao.php');
$email = $_POST['username'];
$senha = $_POST['password'];
$flag = false;


$sql = "SELECT * FROM cadastro WHERE email='$email' AND senha='$senha'";
$consulta = mysql_query($sql)or die(mysql_error());
session_start();
while($sql_result = mysql_fetch_assoc($consulta)){
$_SESSION['id_cliente'] = $sql_result["id_cliente"];
$_SESSION['nome'] = $sql_result["nome"];
$_SESSION['sobrenome'] = $sql_result["sobrenome"];
$_SESSION['tipo'] = $sql_result["tipo"];
$_SESSION['email'] = $sql_result["email"];
$_SESSION['senha'] = $sql_result["senha"];


if($email == ($sql_result["email"]) && $senha == ($sql_result["senha"])){
echo "Seu nome é:";
echo $_SESSION['nome'];
echo "<br>";
echo "Sua senha é:";
echo $_SESSION['senha'];
echo "<br>";
echo "Seu tipo é:";
echo $_SESSION['tipo'];
echo "<br>";
echo "Seu sobrenome é:";
echo $_SESSION['sobrenome'];
$flag = true;
header("Location: index.php");
exit;
}
}


if (!$flag){
echo "Login inválido. Voltando à página de login...";
header( "refresh:2;url=login.php" );
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ponha todo o código da pagina de validação na página do formulário e antes de fazer a autenticação faça um if para ver se o email e a senha foram preenchidos

exemplo:

 

 

<form action="" method="POST" >
<div class="header">
<center><img src="img/logo.png" style="width: 110px; margin-left: 20px; margin-top: 20px;" ><center>
<h1>Faça seu login</h1>
<span>Preencha o formulário corretamente para acessar sua conta.</span>
</div>


<div class="content">
<input name="username"  required type="email" class="input username" placeholder="E-mail"  />
<input name="password"  required type="password"  maxlength="8" class="input password" placeholder="Senha"  />
</div>
<?PHP
if ( isset( $_POST['username'] ) && isset( $_POST['password'] )  ) {
  include('conexao.php');
$email = $_POST['username'];
$senha = $_POST['password'];
$flag = false;


$sql = "SELECT * FROM cadastro WHERE email='$email' AND senha='$senha'";
$consulta = mysql_query($sql)or die(mysql_error());
session_start();
while($sql_result = mysql_fetch_assoc($consulta)){
$_SESSION['id_cliente'] = $sql_result["id_cliente"];
$_SESSION['nome'] = $sql_result["nome"];
$_SESSION['sobrenome'] = $sql_result["sobrenome"];
$_SESSION['tipo'] = $sql_result["tipo"];
$_SESSION['email'] = $sql_result["email"];
$_SESSION['senha'] = $sql_result["senha"];


if($email == ($sql_result["email"]) && $senha == ($sql_result["senha"])){
echo "Seu nome é:";
echo $_SESSION['nome'];
echo "<br>";
echo "Sua senha é:";
echo $_SESSION['senha'];
echo "<br>";
echo "Seu tipo é:";
echo $_SESSION['tipo'];
echo "<br>";
echo "Seu sobrenome é:";
echo $_SESSION['sobrenome'];
$flag = true;
header("Location: index.php");
exit;
}
}


if (!$flag){
echo "Login inválido. Voltando à página de login...";
header( "refresh:2;url=login.php" );
}
}
 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isset, como o saidmrn falou acima, o isset vai verificar se houve post nos inputs do formulário e se haver ele executa o seu código.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.