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

Não Consigo Logar Na Página


quinhone

Pergunta

Pessoal estou tentando logar em uma página, o erro estava dando ao selecionar o Banco de dados, foi preciso reinstalar o MySQL de novo pra poder arrumar, agora o BD está OK, mas ainda não consigo logar vejam o código abaixo:

**************

<?

require("config.php") ;

$con = @mysql_connect("$host", "$user")or die("Erro ao conectar");

$db = @mysql_select_db("$dbnome", $con)or die("Erro ao selecionar banco de dados");

$sql = "select usuario, senha from login WHERE usuario='$usuario' and senha=PASSWORD('$senha')";

$query = @mysql_query($sql)or die("erro 4");

$confere = @mysql_num_rows($query, $db);

if ($confere > 0) {

Header("Location: http://localhost/logos/login.php");

}else{

Header("Location: http://localhost/logos/index.php");

}?>

****************************************************************

como vocês podem ver se o login for bem sucedido ele chama login.php se não chama index.php de novo, e mesmo o login e senha estando certos ele retorna 0 e chama o index.php verifiquei a variável "$db" e ela está recebendo o valor "1" eu sei que ela tem que receber True ou False. não sei mais o que eu faço...

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Aki este codigo funciona da uma olhada

include "conectar.php";

$verifica = "SELECT login, senha FROM expert_usuario WHERE login=\"$login_usu\" AND senha=\"$senha_usu\"";

$verifica = mysql_query($verifica, $conex);

if (!$coluna = mysql_fetch_array($verifica)){

Caso não deu certo

include "index.php';

} else {

include "logado";

}

Link para o comentário
Compartilhar em outros sites

  • 0
Aki este codigo funciona da uma olhada

include "conectar.php";

$verifica = "SELECT login, senha FROM expert_usuario WHERE login=\"$login_usu\" AND senha=\"$senha_usu\"";

$verifica = mysql_query($verifica, $conex);

if (!$coluna = mysql_fetch_array($verifica)){

Caso não deu certo

include "index.php';

} else {

include "logado";

}

eu digitando certo ou errado o login, ele sempre entra na primeira opção (caso não deu certo)

o meu problema é que eu não estou conseguindo selecionar o Database...

Link para o comentário
Compartilhar em outros sites

  • 0

Testei de todas as formas veja o que está sendo retornado pelas variáveis utilizadas na conexão:

require("config.php") ;

$con = @mysql_connect("$host", "$user")or die("Erro ao conectar");

$db = @mysql_select_db("$dbnome", $con)or die("Erro ao selecionar banco de dados");

$sql = "select usuario, senha from login WHERE usuario='$usuario' and senha=PASSWORD('$senha')";

$query = @mysql_query($sql)or die("erro 4");

$confere = @mysql_num_rows($query, $db);

as variáveis estão recebendo esses valores

$db: 1

$query: Resource id #5

$sql: select usuario, senha from login WHERE usuario='' and senha=PASSWORD('')

$confere: não retorna nada

notem que na sql, não estão retornando valores.

Link para o comentário
Compartilhar em outros sites

  • 0

como vocês podem ver se o login for bem sucedido ele chama login.php se não chama index.php de novo, e mesmo o login e senha estando certos ele retorna 0 e chama o index.php verifiquei a variável "$db" e ela está recebendo o valor "1" eu sei que ela tem que receber True ou False. não sei mais o que eu faço...

para verificar se esta true / false não são valores 1 ou 0... só será numeral quando houver um resultado para tal ou atraves de um return...

enfim, para solucionar um problema com o true / false use:

if ($confere) {

Header("Location: http://localhost/logos/login.php");

}else{

Header("Location: http://localhost/logos/index.php");
}
ou
if (!$confere) {

Header("Location: http://localhost/logos/index.php");

}else{

Header("Location: http://localhost/logos/login.php");

}
obs.: repare que a diferença se encontra no !. MAS NO SEU CASO, o que ocorre é que você está verificando qts linhas tem retorno (pelo comando mysql_num_rows), ou seja, qts linhas no banco de dados existem com esses dados, que provavelmente será uma se houver o user, ou 0 se não houver o tal usuario digitado. Aparentemente recomendo que retire os @ como já foi dito, e alem disso modifique para isso:
require("config.php");

mysql_connect("$host", "$user", "senha")or die("Erro ao conectar");

mysql_select_db("$dbnome")or die("Erro ao selecionar banco de dados");


$sql = mysql_query("select * from login WHERE usuario='$usuario' and senha=PASSWORD('$senha')");


if(mysql_num_rows($sql)>0) {


Header("Location: http://localhost/logos/index.php");

}else{

Header("Location: http://localhost/logos/login.php");

}

não testei, mas teoricamente funciona

=]

abraços...

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...