Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Julio Frantz

PHP Página não valida o login.

Recommended Posts

Olá pessoal, antes de abrir este tópico pesquisei por problemas semelhantes porém não encontrei, eu programo somente na linguagem C, e nos últimos dias comecei a estudar PHP, HTML, CSS e MySQL. Pois bem, estou com o seguinte problema, eu tenho uma página chamada login.php, onde o usuário informa o seu nome (já cadastrado em um select) e digita a sua senha, após, esses dados do formulário são processados por outro arquivo, chamado de valida_login.php. O sistema funciona corretamente se executado no localhost, entretanto quando subo os arquivos pra um host, não funciona. A conexão com o banco de dados ta OK, pois na página de login ele puxa os dados do banco de dados pro select, porém quando vai processar a validação desse login, a página trava.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Julio Frantz Olá,

 

Só há duas possibilidades... ou conexão com o banco de dados ou erro em alguma parte do php.

 

Mas para descobrir... só vendo o  código. Sugiro que poste aqui seus códigos usando o botão CODE <> 

Assim ele pode ser analisado e debugado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Página login.php:

 

<?php
include_once("conexao.php");
session_start();
?>

<!DOCTYPE html>

<html lang="pt-br" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Acessar Sistema</title>
    <link href="https://fonts.googleapis.com/css?family=Oswald:400,500,600,700" rel="stylesheet" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="_css/login.css"/>
</head>

<body>

<div id="voltar">
    <a href="index.php" title="Voltar a página inicial.">&laquo  Voltar</a>
</div>


<div id="login" class="login bradius">

    <div class="logo">
        <a href="login.php" title="Acessr Sistema">
            <img src="_imagens/logo.png" alt="" title="" width="200" height="91"/> </a>
    </div>

    <div class="formulario">
        <form method="POST" action="valida_login.php" id="formulario">
            <select name="select_user" id="select_user" class="txt bradius">
                <option class="txt bradius">Selecione</option>
                <?php
                $result_user = "SELECT * FROM usuarios";
                $resultado_user = mysqli_query($conn, $result_user);
                while($row_user = mysqli_fetch_assoc($resultado_user)) { ?>
                    <option class="txt bradius" value="<?php echo $row_user['nome']; ?>"><?php echo $row_user['nome']; ?>
                    </option> <?php
                }
                ?>
            </select>
            <input type="password" name="senha" id="senha" class="txt bradius">
            <input type="submit" class='sb bradius' name="btnLogin" value="Acessar">
        </form>
    </div>

    <div id="retorno" class="retorno">
        <?php
        if(isset($_SESSION['msg'])) {
            echo $_SESSION['msg'];
            unset($_SESSION['msg']);
        }
        ?>


    </div>

</div>



<div id="julio">
    <h3>Desenvolvido por</h3>
    <h3><b>Julio Frantz</h3>
</div>

</body>

</html>

 

Página valida_login.php:

 

<?php
session_start();
include_once("conexao.php");

$btnLogin = filter_input(INPUT_POST, 'btnLogin', FILTER_SANITIZE_STRING);

if($btnLogin){
    $usuario = filter_input(INPUT_POST, 'select_user', FILTER_SANITIZE_STRING);
    $senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
    if((!empty($usuario)) AND (!empty($senha))){
        $result_usuario = "SELECT id, nome, senha, nivel FROM usuarios WHERE nome='$usuario' LIMIT 1";
        $resultado_usuario = mysqli_query($conn, $result_usuario);
        if($resultado_usuario){
            $row_usuario = mysqli_fetch_assoc($resultado_usuario);
            if($senha == $row_usuario['senha']) {
                $_SESSION['id'] = $row_usuario['id'];
                $_SESSION['nome'] = $row_usuario['nome'];
                header("Location: lotes.php");
            }else{
                $_SESSION['msg'] = "Login e senha incorretos.";
                header("Location: login.php");
            }
        }
    }else{
        $_SESSION['msg'] = "Login e senha incorretos.";
        header("Location: login.php");
    }
}else{
    $_SESSION['msg'] = "Página não encontrada.";
    header("Location: login.php");
}

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido, precisei substituir o header por um script.

 

header("Location: lotes.php");
<script> window.location=lotes.php';</script>

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×