fredegart Postado Setembro 27, 2005 Denunciar Share Postado Setembro 27, 2005 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á =) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 charlesschaefer Postado Setembro 28, 2005 Denunciar Share Postado Setembro 28, 2005 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fredegart Postado Setembro 28, 2005 Autor Denunciar Share Postado Setembro 28, 2005 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fredegart
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
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.