Biblioteca de Funções -CRUD
06/11/2015
0
1 - Criei o arquivo crud.php com o conteúdo abaixo.
OBS.: A conexão com banco Mysql está logo acima, funcionando normalmente!
function logar($table, $email, $senha)
{
$senha = md5($senha);
$selectLogin = "SELECT * FROM $table WHERE email = '$email' AND senha = '$senha'";
$retorno = mysql_query($selectLogin);
return mysql_fetch_assoc($retorno);
}
2 - Depois criei a pagina abaixo que chama essa função e faz a comparação para a "function logar". Com banco Postgres funcionou normalmente, porém com Mysql não funciona. Alguém pode ajudar, obrigado.
3 - Arquivo login.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Autenticacao</title>
</head>
<body>
<form method="POST">
<table align="center">
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Senha</td>
<td><input type="password" name="senha"></td>
</tr>
<tr>
<td><input type="submit" value="Gravar"></td>
</tr>
</table>
</form>
<?php
require '../carregar.php';
if ($_POST){
if ($dados = logar('usuarios', $_POST['email'], $_POST['senha'])){
echo 'Usuário logado!<br><pre>';
print_r($dados);
}else{
echo '<h1>Usuario ou senha incorretos</h1>';
}
}
?>
</body>
</html>
PRECISO QUE ELE FAÇA A COMPARAÇÃO E MOSTRE O ARRAY!
Elieser Júnior
Posts
07/11/2015
William
1 - Por gentileza quando for postar trechos de código fonte utilize a tag code, deixa mais legível:
[img]http://arquivo.devmedia.com.br/forum/imagem/269142-20151107-164604.png[/img]
2 - Executar Instruções SQL com a extensão mysql_, já foram citadas várias vezes aqui e em diversos outros fóruns além da própria documentação do PHP, essa extensão está marcada como "deprecate" então não é aconselhável utilizar em projetos.
3 - Script de login usando concatenação de strings na instrução SQL, uma avenida aberta para SQL Injection, o correto é sempre trabalhar parametrizado.
4 - Você falou que não funciona, mas qual erro é exibido na página?
07/11/2015
Marcio Araujo
07/11/2015
William
Em breve vou postar um vídeo com 3 exemplos de invasão, usando SQL Injection para logar, outro para apagar uma tabela pela URL e por último um upload sem validação que lista todos os arquivos o servidor.
Clique aqui para fazer login e interagir na Comunidade :)