Estou com um problema para fazer login, antes de mais nada eu não sou nenhum especialista to aprendendo a mecher com php estudando livros e aulas por isso meu codigo deve ser meio "FEIO" com erros absurdos, então com ajuda da galera aqui pretendo adquir novos conhecimentos e melhorar meus codigos. Mas vamos ao que interessa, minha dúvida. Abaixo vou estar postando o código porque assim fica mais facil para vocês me ajudarem.
Breve descrição: Pagina Index eu verifico a Sessão se ela existe ou não, e se o post já foi enviado ou não.
<?php
session_start();
include 'conexao.php';
include 'funcoes.php';
if(isset($_SESSION['login'])) #Verifico se existe a Sessão Login
{
require_once "logado.php";
}
else #Caso ela não existir eu chamo arquivo login novamente
{
require_once "login.php";
}
?>
Como podem ver eu tenho outras duas páginas, uma com formulario de login caso o administrador não estiver logado e a pagina logado aonde mostra toda area administrativa.
Abaixo mostro o formulario:
O formulario faz toda a verificação em outra página que é a logar.php abaixo vou mostrar o código
<?php
include 'conexao.php'; // abro conexão com banco de dados
$nome_usuario = $_POST["username"]; // Pego Nome de Usuario no POST Formulario
$senha_usuario = $_POST["password"]; // Pego Senha do Usuario no POST Formulario
$sql = mysql_query("select senha from tb_pessoas where usuario = '$nome_usuario'"); // Busco no banco a senha caso exista o usuario
$cont = mysql_num_rows($sql); // Verifico se ouve retorno
while($valida = mysql_fetch_array($sql)) // Busco a senha do usuario caso o mesmo exista
{
$valida_senha = $valida['senha']; // Armazeno a senha em uma variavel
}
if(trim($nome_usuario) != '') // Verifico se não tem espaço ou esta em branco
{
if($cont == 0) // Se resultado for iqual a 0 então não tem nenhum usuario cadastrado
{
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=/admin/'>
<script type=\"text/javascript\">
alert(\"Este usuario não existe.\");
</script>
";
}
else // caso contrario o usuario existe no banco
{
if($valida_senha != $senha_usuario) // Comparo a senha armazenada na variavel consultada no banco com a variavel que armazena o post do formulario
{
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=/admin/'>
<script type=\"text/javascript\">
alert(\"A senha não corresponde.\");
</script>
";
}
else // se a senha for bater com nome de usuario então inicio a sessão
{
$_SESSION['login_usuario'] = $usuario;
$_SESSION['senha_usuario'] = $senha;
header('Location: /admin/');
}
}
}
else // se os campos estiverem vazio mensagem de erro
{
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=/admin/'>
<script type=\"text/javascript\">
alert(\"Campos Login e Senha devem ser preenchidos.\");
</script>
";
}
?>
Ao final disso, depois que ele validar usuario e senha ele retorna para /admin/ então ele vai mostrar a página de administração.. ou pelo menos era para fazer isso né. o que ta acontecendo é seguinte. Se eu colocar usuario errado, ele mostra mensagem de erro, se eu colocar usuario certo e a senha errada ele mostra mensagem de q a senha esta errada, se eu colocar ususario e senha corretos ele não vai para pagina "logado.php" ele fica na pagina de "login.php" que é a página do formulario sempre.
Pergunta
razih
Bom dia pessoal da ScriptBrasil.
Estou com um problema para fazer login, antes de mais nada eu não sou nenhum especialista to aprendendo a mecher com php estudando livros e aulas por isso meu codigo deve ser meio "FEIO" com erros absurdos, então com ajuda da galera aqui pretendo adquir novos conhecimentos e melhorar meus codigos. Mas vamos ao que interessa, minha dúvida. Abaixo vou estar postando o código porque assim fica mais facil para vocês me ajudarem.
Breve descrição: Pagina Index eu verifico a Sessão se ela existe ou não, e se o post já foi enviado ou não.
Como podem ver eu tenho outras duas páginas, uma com formulario de login caso o administrador não estiver logado e a pagina logado aonde mostra toda area administrativa. Abaixo mostro o formulario: O formulario faz toda a verificação em outra página que é a logar.php abaixo vou mostrar o códigoAo final disso, depois que ele validar usuario e senha ele retorna para /admin/ então ele vai mostrar a página de administração.. ou pelo menos era para fazer isso né. o que ta acontecendo é seguinte. Se eu colocar usuario errado, ele mostra mensagem de erro, se eu colocar usuario certo e a senha errada ele mostra mensagem de q a senha esta errada, se eu colocar ususario e senha corretos ele não vai para pagina "logado.php" ele fica na pagina de "login.php" que é a página do formulario sempre.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.