Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, o meu código está retornando um erro mesmo se a senha e o usuario estiver certa. Ae eu fui mais afundo e descobri que quando eu digito o usuario Lucas ele pega a senha do segundo usuario do banco de dados ex no meu bd tem assim:
_______________________
| id | nome | senha |
| 1 | Lucas | 123 |
| 2 | teste | 1 |
|____|_________|_________|
Se eu digito o usuario Lucas a senha correta fica 1
Se eu digito o usuario teste a senha correta fica 123
Eu irei alterar o get para post mas no momento esta assim > o meu link de logar <a href="logar.php?usuario=Lucas&senha=123"> logar </a>
<?php
include('configs/conexao.php');
$senha = $_GET['senha'];
$usuario = $_GET['usuario'];
$sql = "SELECT * FROM equipe WHERE usuario='$usuario' AND senha='$senha' LIMIT 1 ";
$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);
$resultado2 = "";
if($senha == ''.$row[senha].''){
if($usuario == ''.$row[usuario].''){
$resultado2 .= "certo2";
}
}else {
$resultado2 .= "errado2";
}
$array = array('resultado'=>$resultado2);
$json = json_encode($array);
echo $json;
?>kra '-' meu amigo mexeu no bd... Ele tinha mudado a senha ... mas vc resumiu meuu código '-' vlw aae ... marcado como resolvido
Vamos pelo começo para entender o que acontece.
Primeiramente, há um problema de lógica no seu código. Todo esse trecho de código é desnecessário:
}else {Pois só vai retornar algum resultado, se o usuário e senha estiverem corretos.
Seu código pode ser resumido a isso:
if(mysql_num_rows($res)) {
$resultado2 = "certo2";
} else {
Não é necessário limit, pois uma vez que o usuário tem que ser único, só vai retornar um registro.
Segundo detalhe, que deveria ser o primeiro. Funções mysql_* não devem mais ser utilizadas. Substituita por PDO ou MySQLi.
Agora, o fato de sua tabela estar retornando resultados distintos dos seus registros, isso é uma incógnita.
Faça a SQL abaixo diretamente no SGBD:
SELECT * FROM equipe WHERE usuario='Lucas' AND senha = '123'
Se retornar um registro, o problema é seu código. Se não retornar nada, bem, o problema está na integridade do SGBD.