Ir para conteúdo

Arquivado

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

  • 0
W.V.Fernandes

Erro de programação em realizar login em PHP

Pergunta

Pessoal, sou iniciante em PHP e estou com problemas na página de login. A conexão com banco de dados MySQL está ocorrendo sem problemas, porém não está validando os dados, mesmo email e senha estando corretos. Sempre cai no else com o javaScript de usuário e senha inválidos.

 

Página login.php

<?php 
    session_start();
    include_once("../Controller/ctrl_validacao.php");
?>
<!DOCTYPE html>
<html>
    <head>
        <title> SEBO ReLer </title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="css/estilo.css" />
    </head>
    <body>
        <div class="login">
            <p class="logo"> <img src="imagens/logo.png" width="280px" height="100px"> </p>
            <form class="formulario" action="" method="post">
                <p> E-mail: <input type="text" name="email"/></p>
                <p> Senha:  <input type="password" name="senha"/></p>
                <p><input type="submit" name="submit" value="Entrar"/></p>
            </form>
        </div>
    </body>
</html>

 

Página ctrl_validacao.php

<?php

include("../Model/model_conexao.php");

if (isset($_POST['submit'])) {
    $email = mysqli_real_escape_string(conectar(), $_POST['email']);
    $senha = mysqli_real_escape_string(conectar(), $_POST['senha']);


    $result = mysqli_query(conectar(), "SELECT id, nome, email, cpf, tipo"
            . " FROM funcionario WHERE email='$email' AND senha=md5('$senha')")
            or die("Falha ao se conectar com o banco de dados.");

    $row = mysqli_fetch_assoc($result);

    if (isset($row)) {
        $_SESSION['id'] = $row['id'];
        $_SESSION['nome'] = $row['nome'];
        $_SESSION['email'] = $now['email'];
        $_SESSION['cpf'] = $row['cpf'];
        $_SESSION['tipo'] = $row['tipo'];
        
        if (($_SESSION['tipo'] = $row['tipo']) == "Gerente") {
            header('Location: paginaInicialGerente.php');
        } else {
            header('Location: paginaInicialVendedor.php');
        }
        
    } else {
        echo "<script type='text/javascript'>alert('Usuário ou senha incorretos.');</script>";
    }
}
?>

 

Alguém pode ajudar a encontrar o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Não sei se pode ser esse o problema, mas existe essa possibilidade... mas mesmo não sendo, você precisa corrigir:

conectar()

Você está chamando uma função que aparentemente está gerando uma nova conexão o tempo todo.

Isso é extremamente nocivo e desnecessário.

 

Jogue o resultado dessa função em uma variável e use-a depois. Exemplo:

$conexao = conectar();

$email = mysqli_real_escape_string($conexao, $_POST['email']);
$senha = mysqli_real_escape_string($conexao, $_POST['senha']);


$result = mysqli_query($conexao, "SELECT id, nome, email, cpf, tipo"
        . " FROM funcionario WHERE email='$email' AND senha=md5('$senha')")
        or die("Falha ao se conectar com o banco de dados.");

 

A segunda suspeita reside na sua consulta... você deveria jogar ela numa variável e dar um echo nela para verificar o que exatamente está sendo enviado ao banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer ao auxílio dos amigos, mas preciso entender e resolver um problema.
       
      Tenho uma Rotina que o usuário seleciona os produtos que deseja para requerer ao setor responsável.
       
      O usuário escolhe um produto qualquer e Clicla em um button para incluir a lista.

      O problema que estou enfrentando é que após escolher o produto e teclar ENTER o Sistema já salva no BD.
       
      Gostaria de criar uma Tecla de Atalho, para quando incluir/escolher o produto na lista, o usuário tecla como exemplo:
      ALT+A  para agregar a lista
      ALT+S para salvar a lista de itens desejados.

      Assim, quando teclar enter, o sistema não dispara o GRAVAR na Base de Dados.

      Grato,

      Cesar
       
       
       
    • Por violin101
      Caros amigos, saudações.

      Por favor, peço desculpa em recorrer a ajuda dos amigos referente uma dúvida.

      Tenho um Sistema que estou escrevendo em PHP + Codeigniter e a minha dúvida em Codeigniter é:
      Obs.: as tabela são em MySql

      => como faço para IMPORTAR o dado de uma Tabela para outra, as tabela são:
      ___________________Tabela de Pedido     =========== para ==========>    Tabela de Entrada de Lançamentos
      itens: codigoProduto | quantidade | valorUnitario  === importar===> itens: codigoProduto | quantidade | valorUnitario
       
      Estou tentando de várias formas, mas não estou conseguindo.

      Por favor, alguém pode me dar uma ajuda, explicação ou orientação.

      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma pequena dúvida que não estou conseguindo resolver.

      Tenho 2 Tabelas, a 1ª.principal e a 2ª.secundária.

      Exemplo:
      Dados da 1ª Tabela - Peças e Equipamentos
      Dados da 2ª Tabela - Veículos.

      Seria isso:
      0010 - Pneu Aro 20
        [x] 001 - Corsa
        [_] 002 - Fusca
        [_] 003 - Palio
      Comentário:________________
       
      0100 - Óleo para Motor
         [x] 002 - Fusca
         [_] 003 - Palio
      Comentário:________________
       
      1030 - Lubrificante
         [_] 001 - Corsa
         [x] 003 - Palio
      Comentário:________________
       
      O meu problema está sendo quando preciso SALVAR/ATERAR o campo COMENTÁRIO, pois trata-se da 1ª.tabela.
       
      Gostaria salvar o COMENTÁRIO sem interferir nas seleção da 2ª. tabela.
       
      Grato,
       
      Cesar
       
       
       
       
       
    • Por Carcleo
      Estou começando no Laravel 11 e me deparei com um problema de belongsTo
       
      public function listOfClass(Request $request, StudentDisciplineClassroom $sdc) : ?string {         $all = $sdc::select('student')->with('studentRelation')->where('classroom',$request->classroom)->distinct('student')->get();     dd($all->toArray());     $students = [];     foreach ($all as $student) {             $students[] =$student;     }       return response()->json($students)->getContent();     } isso

      Em studentRelation temos na tabela StudentDisciplineClassroom com os campos

      id(chave primaria)
      ra (chave estrangera que referencia o campo academic_registration na tabela de students)

      e a tabela student tem os campos

      id (chave primária)
      academic_registration (que vai ser refeenciada na tabela StudentDisciplineClassroom

      Mas na hora de fazer
      $sdc::select('student')->with('studentRelation')->where('classroom',$request->classroom)->distinct('student')->get();
      O studentRelation retorna nulo

      Onde eu posso estar errando?
    • Por joao b silva
      Tenho uma pequena aplicação em php que gera arquivos pdf com a MPDF e envia email com a PHPMAILER. De repente a app parou de enviar os emails  e apresenta a seguinte mensagem de erro:
       
      Error PHPMailer: SMTP Error: Could not authenticate.
       
      Faço uso de um hotmail para a configuração do PHPMAILER.
×

Informação importante

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