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

Erro Na Comunicação Com Db


fredegart

Pergunta

Olá a todos...

Estou com uma dúvida e gostaria da ajuda de vocês na resolução da mesma.

Comecei agora meus estudos em PHP e entrei na parte de comunicação com banco de dados...

Estou trabalhando com MySQL o qual já está configurado.

Criei um DB TESTE com uma tabela 'login' com campos 'usuario' e 'senha'.

Fiz um formulário de usuário e senha como um eskema para login de usuario.

<body>

<form name="frmvalida" method="post" action="valida.php">

<p align="center">Usuário:

<input type="text" name="cbnome" value="">

</p>

<p align="center">Senha:

<input type="password" name="cbsenha" value="">

</p>

<p align="center">

<input type="submit" name="Submit" value="Validar">

</p>

</form>

</body>

Mas quando chamo o 'valida.php' que começam meus problemas.

Se eu importar os dados digitados no formulario eu consigo imprimi-los normalmente...

Mas quando começa a parte de comunicação com o DB q o problema começa.

<?

$nome = $_POST['cbnome'];

$senha = $_POST['cbsenha'];

$conec = mysql_connect("localhost" , $nome , $senha);

mysql_select_db("TESTE", $conec);

$string = "SELECT * FROM login WHERE usuario LIKE $nome";

$res = mysql_query($string,$conec);

if ($senha == mysql_result[$res,0,'senha']) {

echo "Usuário logado com sucesso!";

} else {

echo "Usuário/Senha inválido. Tente novamente.!";

}

?>

O que está errado no meu código?

Agradeço desde já =)

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tenta assim:

$string = "select * from login where usuario=\"$nome\"";

$res = mysql_query($string,$conec);

if($senha == mysql_result($res,0,'senha')){ (resto do código)

}

ou assim:

$string = "select * from login where usuario=$nome and senha=$senha";

$res = mysql_query($string,$conec);

$result = mysql_num_rows($res);

if($result == "0"){ (código para informar o erro no digito das info)

}

qlquer dúvida post

Link para o comentário
Compartilhar em outros sites

  • 0

Eu consegui fazer rodar ontem antes de sair daki do trabalho...

Fiz apenas algumas modificações e deu certo...

Segue abaixo o código alterado:

<?

$nome = $_POST['cbnome'];

$senha = $_POST['cbsenha'];

$conec = mysql_connect("localhost" , "$nome" , "$senha");

mysql_select_db("TESTE", $conec);

$stgsql = "SELECT * FROM login WHERE usuario LIKE '$nome'";

$res = mysql_query($stgsql,$conec);

$r = mysql_fetch_array($res);

if ($senha == $r['senha']) {

echo "Usuário logado com sucesso!";

} else {

echo "Usuário/Senha inválido. Tente novamente.!";

}

?>

Um dos erros era que o $nome não tinha permissão para conectar no host.

Outro erro era a falta de ' ' na variável $nome no SELECT.

Agora eu troquei o mysql_result pelo mysql_fetch_array e resolveu o problema.

Fiz até um código já para cadastro de usuários... Para iniciantes como eu que se interessarem, segue abaixo:

<?

$user = $_POST['cbuser'];

$passwd = $_POST['cbpass'];

$conec = mysql_connect("localhost" , "$default" , "$sdefault");

mysql_select_db("TESTE", $conec);

$inssql = "INSERT INTO login (usuario, senha) VALUES ('$user', '$passwd')";

mysql_query($inssql,$conec);

if (mysql_errno() == 0) {

echo "Usuário criado com sucesso.";

echo " <br>";

echo " <br>";

echo "</p>";

echo "<p align='center'>Clique aqui para logar: ";

echo " <br>";

echo " <a href='index.php'>Logar</a>";

echo "</p>";

} else {

echo "<p align='center'>Erro na criação do usuário. Tente novamente.";

echo " <br>";

echo " <a href='index.php'>Retorna</a>";

echo "</p>";

}

?>

p.s: minhas variáveis $default e $sdefault se tratam de um user padrão para conexão com o host e sua respectiva senha.

No mais estou sem dúvidas no momento...

Caso surgirem novas eu venho a postar novamente.

Ainda agradeço ao companheiro charlesschaefer pela força.

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,7k
×
×
  • Criar Novo...