Ir para conteúdo

POWERED BY:

Arquivado

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

felipeaqueiroz

Problema com login em PHP

Recommended Posts

Olá, felipeaqueiroz.

 

Seu problema é bem simples de resolver.

Este erro se refere ao usuário ou a senha do seu banco de dados.

Aparentemente não tem nada de errado com o seu banco.

Me passa via MP o usuário e a senha de acesso ao seu banco de dados que te respondo onde está o erro.

Os arquivos autenticar.php e connect.php estão na mesma pasta?

Se estiver altera seu código para este abaixo.

<?php
include("./connect.php");
 
//Recebendo os dados do formulário
$login = addslashes($_POST["login"]);
$senha = addslashes($_POST["senha"]);
 
$sql = "SELECT * FROM usuario WHERE login = '$login' AND senha = '$senha'";
$rs = mysql_query($sql);
 
if(mysql_num_rows($rs) == 1) {
        $user = mysql_fetch_array($rs);
        //conferindo o login e senha para segurança
        if($login == $user['login']){
                //se entrou, entao o login é igual
                if($senha == $user['senha']){
                        //se entrou, então a senha também é igual
                        $logado = "1";
                        $id_user = $user['id'];
 
                        //criando a sessão
                        session_start();
                        $_SESSION["id_user"] = $id_user;
                        $_SESSION["logado"] = $logado;
 
                        //depois que criarmos a sessão, 
                        //vamos redirecionar para a página privada
                        header("Location: http://felipeaqueiroz.eu5.org/cadastro.php");
                } else {
                        echo "A senha não confere!";
 
                }
        } else {
                echo "O usuário não confere!";
        }
}else {
        echo "Usuário ou senha inválidos. Tente novamente.";
}
?>

 

Abaixo vou explicar como a conexão do banco é feita.

$host = "localhost"; -> Local onde sua base de dados MySQL está hospedada (geralmente eles te passam um endereço IP, se for o seu caso coloque ele aqui no lugar do localhost)

 

$user = "24884"; -> Usuário de acesso ao seu banco de dados

 

$password = "m9j4d5"; -> Senha que foi cadastrada para o usuário acima.

 

$dbname = "24884"; -> Banco de dados

 

Veja se consegue encontrar o erro com esta ajuda, caso contrário nos retorne aqui no forum.

 

Att.

Henrique Flausino

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, felipeaqueiroz.

 

Somente com os dados que você postou aqui já tive acesso ao seu banco de dados e resolvi seu problema.

Veja aqui

 

Segue abaixo códigos corrigidos.

 

 

login.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bem vindo ao Administrador!</title>
<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif; color:#666666}
-->
</style>
</head>
<body>
<center>
<h1 class="style1">ADMINISTRAÇÃO  </h1>
</center>

<form action="autenticar.php" method="post">

<table width="300px" border="0" align="center" cellpadding="3" cellspacing="3">
  <tr>
    <td width="84">Login:</td>
    <td width="395"><label>
      <input type="text" name="login" id="login">
    </label></td>
  </tr>
  <tr>
    <td>Senha:</td>
    <td><label>
      <input type="password" name="senha" id="senha">
    </label></td>
  </tr>
  <tr>
    <td> </td>
    <td><label>
      <input type="submit" name="button" id="button" value="Logar">
    </label></td>
  </tr>
</table>

</form>
</body>
</html>

connect.php

<?php
$host = "localhost";
$user = "24884";
$password = "m9j4d5";
$dbname = "24884";
mysql_connect($host, $user, $password) or die("Erro ao tentar se conectar!");
mysql_select_db($dbname)or die("Erro ao selecionar o banco!");
?>

autenticar.php

<?php
include("connect.php");
 
//Recebendo os dados do formulário
$login = addslashes($_POST["login"]);
$senha = addslashes($_POST["senha"]);
 
$sql = "SELECT * FROM usuario WHERE login = '$login' AND senha = '$senha'";
$rs = mysql_query($sql);
 
if(mysql_num_rows($rs) == 1) {
        $user = mysql_fetch_array($rs);
        //conferindo o login e senha para segurança
        if($login == $user['login']){
                //se entrou, entao o login é igual
                if($senha == $user['senha']){
                        //se entrou, então a senha também é igual
                        $logado = "1";
                        $id_user = $user['id'];
 
                        //criando a sessão
                        session_start();
                        $_SESSION["id_user"] = $id_user;
                        $_SESSION["logado"] = $logado;
 
                        //depois que criarmos a sessão, 
                        //vamos redirecionar para a página privada
                        header("Location: cadastro.php");
                } else {
                        echo "A senha não confere!";
 
                }
        } else {
                echo "O usuário não confere!";
        }
}else {
        echo "Usuário ou senha inválidos. Tente novamente.";
}
?>

cadastro.php

<?php
//Iniciando a sessão
session_start();
include("connect.php");
if($_SESSION['logado'] == 1){
        $sql = "SELECT * FROM usuario WHERE id = ".$_SESSION['id_user'];
        $rs = mysql_query($sql);
        if(mysql_num_rows($rs)) {
                $user = mysql_fetch_array($rs);
                echo "<strong> Olá ".$user['nome']."!</strong> " . "<br>";
                echo "<a href=\"logout.php\">Sair</a>" . "<br>";
                echo "Esta é sua página privada. 
                Nos próximos tutoriais continuaremos com esta página.";
        }
}else {
        echo "Você não está logado. Tudo está oculto para você!";
}
?>

logout.php

<?php
//Iniciando a sessão
session_start();
//destruindo a sessão
session_destroy();
 
Header("Location: login.php");
?>

Já testei e está funcionando 100%, problema resolvido.

 

Caso haja mais alguma duvida poste aqui no fórum.

obs.: cuidado com as informações que coloca aqui, pois um usuário mal intencionado pode acessar seu painel apenas com estas informações, veja como foi fácil acessar suas informações.

 

 

Att.

Henrique Flausino

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... eu tenho quase certeza que o erro esta no $host

tenta verificar como ele deve ser realmente, algum suporte desse provedor ai, eu sinceramente nunca utilizei servidores para hospedagens. então nem sei como essa linha ai deve ser.

Se descobrir me avisa, vai me ajudar tmb ^^

 

mas certeza que o problema esta no $host.

 

Olá, BoinaVerde.

 

Poste aqui seu problema para ver se conseguimos te ajudar ou me envie um e-mail.

henrique@mfdesign.com.br

 

 

Att.

Henrique Flausino

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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