Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Queria que quando o usuário efetuasse o login, exibisse a mensagem "Login efetuado com sucesso", e se houve algum erro também exibisse uma mensagem de erro.
valida_login.php
<?php
session_start();
include_once("config/conexao_fornec.php");
if (isset($_POST['enviar'])) {
if (!empty($_POST['login']) || !empty($_POST['senha'])) {
$login=$_POST['login'];
$senha=MD5($_POST['senha']);
$comando="SELECT * FROM usuarios, orders WHERE email = '$login' and senha= '$senha' and id_usuario";
$enviar=mysqli_query($conn, $comando);
$resultado= mysqli_fetch_assoc($enviar);
if ($resultado) {
$_SESSION['id_usuario']=$resultado['?'];
$_SESSION['order_date']=$resultado['order_date'];
$_SESSION['order_id']=$resultado['order_id'];
$_SESSION['login']=$resultado['login'];
$_SESSION['senha']=$resultado['senha'];
$_SESSION['email']=$resultado['email'];
$_SESSION['nome']=$resultado['nome'];
$_SESSION['id']=$resultado['id'];
$_SESSION['seguranca']=$resultado['seguranca'];
header("location:../index.php");
exit;
}else{
$_SESSION['msg'] = "<div class='alert alert-success'>Versão e Revisão cadastrada com sucesso!</div>";
}
}else{
$_SESSION['mensagem']="<div class='alert alert-danger alert-dismissible text-center' style='width: 24.5%; position: absolute; margin-left: 38.2vw; margin-top: 3vh;'><button type='button' class='close' data-dismiss='alert'>×</button>Ops! Alguns dos campos ficou em branco.</div>";
header("location:https://compre-aqui.com/users/");
exit;
}
}else{
header("location:users");
exit;
}
?>
Corpo do login
<section class="hero is-success is-fullheight">
<div class="hero-body">
<div class="container has-text-centered">
<div class="column is-4 is-offset-4">
<h2 class="text-center mb-4">Faça seu login</h2>
<div class="box">
<form action="validar_login.php" method="POST">
<div class="field">
<div class="form-group">
<label for="name">E-mail</label>
<input name="login" id="name" type="name" class="form-control" placeholder="Nome completo">
</div>
</div>
<div class="field">
<div class="form-group">
<label for="senha">Senha</label>
<input name="senha" id="senha" class="form-control" type="password" placeholder="Senha">
</div>
</div>
<button type="submit" class="btn btn-info btn-block" name="enviar">Realizar login</button>
</form>
<hr style="background-color: white;">
<a href="https://compre-aqui.com/users/cadastro.php" class="btn btn-info btn-block mt-2">Esqueci minha senha</a>
<a href="https://compre-aqui.com/users/cadastro.php" class="btn btn-info btn-block mt-2">Cadastre-se</a>
</div>
</div>
</div>
</div>
</section>>
Agora, Omar~ disse:
Você diz, não redirecionar e sim mostrar mensagens se sucesso ou falha?
Mostrar mensagens caso, o login ou senha estejam errado, e se estiver certo mostrar outra mensagem de "Login efetuado com sucesso" e redirecionar.
Já tentou dar um echo na global $_Session['msg']?
em vez de usar o header("location: do php coloque pra redireciona com java script
exemplo em vez de
header("location:https://compre-aqui.com/users/");
usar
echo 'setTimeout(function(){ window.location.href = "https://compre-aqui.com/users/"; }, 3000);';@granderodeo
https://github.com/Spell-Master/sm-web/tree/master/javascript/AjaxRequest
Com essa aplicação você terá dois métodos para execução de formulários (use a que for de sua necessidade).
Em ambos métodos iremos executar/carregar o arquivo que valida os dados em uma div, e no arquivo, aqui irei apresentar um exemplo básico.
<div id="executar_aqui"></div>
<div id="mensagem" style="display: none"></div>
<form id="identificar_formulario" onsubmit="return(executa())">
<input type="text" name="exemplo" />
<button>Enviar</button>
</form>
<script>
function executa() {
executa.prototype = new AjaxRequest();
executa.prototype.form('identificar_formulario', 'executar_aqui', 'arquivo.php');
// OU
//executa.prototype.formSend('identificar_formulario', 'executar_aqui', 'arquivo.php');
return (false);
}
function mostraMensagem(texto) {
var msg = document.getElementById('mensagem');
msg.innerHTML = texto;
msg.style.display = 'block';
setTimeout(function () {
msg.innerHTML = null;
msg.style.display = 'none';
}, 3000);
}
</script>
Nesse cenário termos uma div para executar, temos uma div para mensagem, e o formulário, uma função de controle do formulário e outra função para executar as mensagens.
Então ao executar o formulário ele retorna a função que por sua vez passa a um prototipo do AjaxRequest que irá enviar todos dados de input contidos no formulário como POST para o arquivo designado, então nesse arquivo fazemos a mágica acontecer.
<?php
if (!isset($_POST['exemplo'])) {
echo ("<script>mostraMensagem('POST exemplo não recebido');</script>");
} else if (empty ($_POST['exemplo'])) {
echo ("<script>mostraMensagem('POST exemplo está vazio');</script>");
} else if ($_POST['exemplo'] == 'iMasters') {
echo ("<script>mostraMensagem('POST exemplo não é iMasters');</script>");
} else {
echo ("
<script>
mostraMensagem('Você digitou iMasters isso é sucesso');
setTimeout(function () {
window.location.href = 'https://forum.imasters.com.br/';
}, 3000);
</script>
");
}
Você diz, não redirecionar e sim mostrar mensagens se sucesso ou falha?