Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de Login


guipramos

Pergunta

Pessoal, desculpa esta criando outro tópico, mas estou com uma duvida, estou fazendo um sistema de login, quando digito certo a senha e usuário ele entra, mas quando coloco qualquer senha ele loga tambem, o que esta errado.

<?php
session_start();
include_once 'config.php';

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

//VERIFICA SE FOI CLICADO NO BOTÃO 'ENTRAR'.
if($_POST['entrar']):
    //VERIFICA SE OS CAMPOS ESTÃO VÁZIOS.
    if(empty($usuario)):
        header("Location: page_principal.php");
    elseif(empty($senha)):
        header("Location: page_principalphp");
    else:
        foreach($usuario as $usuario => $senha){
            header("Location: page_principal.php");
        }
        if($usuario == $usuario AND $senha == $senha):
            $_SESSION['usuarioSession'] = $login;
            $_SESSION['senhaSession']   = $senha;
            header("Location: painel.php");
        else:
            echo "Os dados de acesso não combinam. Tente novamente.";
            echo '<hr/>';
            echo '<a href="page_principal.php">Voltar</a>';
        endif;
    endif;


endif;
?>

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Esqueci de falar que esse sistema de login que estou fazendo é sem BD.

Fui mexer no código e agora ele não logo no sistema, mesmo colocando usuário e senha certo ou errado, ele não entra, o que pode estar acontecendo. 

<?php
session_start();
include_once 'config.php';

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

//VERIFICA SE FOI CLICADO NO BOTÃO 'ENTRAR'.
if($_POST['entrar']):
    $usuarioLogin = $_POST['usuario'];
    $senhaLogin = $_POST['senha'];

    //VERIFICA SE OS CAMPOS ESTÃO VÁZIOS.
    if(empty($usuarioLogin)):
        echo 'Digite seu usuario. Clique  <a href="page_principal.php"> aqui </a> para tentar novamente.';
    elseif(empty($senhaLogin)):
        echo'Digite sua senha. Clique <a href="page_principal.php">aqui</a> para tentar novamente.';
    else:
        foreach($usuario as $login => $senha)
           
        {
        if($usuarioLogin == $login && $senhaLogin == $senha):
            $_SESSION['usuarioSession'] = $usuariologin;
            $_SESSION['senhaSession']   = $senhaLogin;
            header("Location: painel.php");
        endif;
        }
        
        header("Location: page_principal.php");
    endif;
endif;
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Esse foreach não faz sentido. Só faria se $_POST['usuario'] fosse um array

Mesmo sem usar BD, leia o artigo que mandei. A lógica é a mesma. Só vai mudar o if. Em vez de comparar com o valor vindo do banco, você vai comparar com uma string pré-definida (de preferência uma constante), que tem o usuário/senha correto

Note que $login e $usuarioLogin estão com o mesmo valor. Você tem que definir usuario/senha válidos em algum lugar. Você não fez isso em parte alguma do código

Link para o comentário
Compartilhar em outros sites

  • 0

Cara talvez você esteja complicando o código atoa, com muitos if e foreach.

 

segue um exemplo simples que talvez ajude.

<?php
session_start();
//pega os dados do formulario.
$senhaRecebida=trim($_POST['senha']);
$ususarioRecebido=trim($_POST['senha']);

//poderia pelo menos usar uma md5, cripty ou qualquer outra coisa.
$senhaCorreta="12345";
$usuarioCorreto="user";

//validando
if( $senhaRecebida==$senhaCorreta && $ususarioRecebido==$usuarioCorreto ){
	//usuário e senha ok, login concedido.
	$_SESSION['login']['usuario']=$ususarioRecebido;
	//header("Location: dashboard.php");
	
}else{
	//os dados não conferem, e por isso o login foi recusado.
	//header("Location: index.php");
	die("Login errado!");
}

 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...