Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia.. Galera da iMasters
to com um problema no login do meu site
ele autentica a o login e se eu deixo a senha em branco ele entra no sistema
se eu digito a senha correta ele da senha incorreta... oq pode ser...
alguem pode me ajudar vou postar o codigo...
<?
$login = $_POST['login'];
$senha = $_POST['senha'];
include "config.php";
$sql = mysql_query("SELECT * FROM users WHERE user = '$login'");
$cont = mysql_num_rows($sql);$senha_db = $linha['senha'];
}
if($cont == 0){
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"O nome de usuario não corresponde.\");
</script>";
}else{
if($senha_db != $senha){//confere senha
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"A senha não <> corresponde.\");
</script>";
}else{
session_start();
$_SESSION['login_usuario'] = $login;
$_SESSION['senha_usuario'] = $senha;
header('Location: admin.php');
}
}
mysql_close($db);
?>
Obrigado!!! fico feliz por vcs estarem sempre me ajudando.... é uma honra fazer parte dessa comunidade...
olha a mensagem que dá...
Unknown column 'senha' in 'where clause'
eu arrumei no meu banco estava como pass o campo deu certo
mas quando agora digita uma senha incorreta ele vai para o logar.php ele nao volta pro index.php
nao entendi o pq
posta como ficou seu código
<?
$login = $_POST['login'];
$senha = $_POST['senha'];
include "config.php";
$sql = mysql_query("SELECT * FROM `users` WHERE `user` = '{$login}' AND 'senha' = '{$senha}'") or die(mysql_error());
$cont = mysql_num_rows($sql)or die(mysql_error());$senha_db = $linha['senha'];
}
if($cont == 0){
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"O nome de usuario não corresponde.\");
</script>";
}else{
if($senha_db != $senha){//confere senha
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"A senha não <> corresponde.\");
</script>";
}else{
session_start();
$_SESSION['login_usuario'] = $login;
$_SESSION['senha_usuario'] = $senha;
header('Location: admin.php');
}
}
mysql_close($db);
?>
o unico lugar que ele pega esse logar.php é aqui
<form action="logar.php" method="post" enctype="multipart">
<fieldset>
<label>
<span>login:</span>
<input type="text" name="login" />
</label>
<label>
<span>Senha:</span>
<input type="password" name="senha" />
</label>
<label>
<input style="border:0 !important; background:none; font:bold 12px Arial !important; color:#FFF !important; cursor:pointer !important; float:right !important; margin:0 21px 0 0 !important; padding:0 !important;" type="submit" value="acessar" name="submit" />
</label>
</fieldset>
</form>
vo postar aqui o meu banco de dados do login e senha
/applications/core/interface/imageproxy/imageproxy.php?img=http://martinezdpvat.com.br/images/senha.jpg&key=a5473dad101a037ce2482f7ad11b26551ebfd294e211aeed90aeefa427d152e0" alt="senha.jpg" />
vamos corrigir e simplificar esse código
erros detectados
nunca use
<?
sempre use a tag completa para iniciar o php
<?php
nomes de campos e tabelas sempre com crase `` e não com aspas simples ' '
errado
...'senha'..
certo
...senha..
fora alguns excessos de código desnecessários
e no quesito segurança falta uma verificação de sql injection e criptografia de senha, pesquise sobre isso
de uma forma simples, tae
<?php
$login = $_POST['login'];
$senha = $_POST['senha'];
include "config.php";
$sql = mysql_query("SELECT * FROM `users` WHERE `user` = '{$login}' AND `senha` = '{$senha}'") or die(mysql_error());
if(mysql_num_rows($sql) == 0){//se não achar
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"O nome de usuario ou senha não correspondem.\");
</script>";
}else{//se achar
session_start();
$_SESSION['login_usuario'] = $login;
$_SESSION['senha_usuario'] = $senha;
header('Location: admin.php');
}
mysql_close($db);
?>cara fico show... fico top fico lindo
obrigado pelas dicas... obrigado de verdade me ajudo muito
as dicas fantasticas eu to vendo a parte que você disse de sql injection e criptografia de senha
eu dei uma olhada em um site olha como ta o exemplo dele dessa criptografia de senha
<?php
session_start();
$login = $_POST["login"];
$senha = $_POST["senha"];
$login_escape = addslashes($login);
$senha_escape = addslashes($senha);
$sql = "SELECT * FROM admin WHERE login='{$login_escape}' AND senha = '{$senha_escape}' ";
.
.
.
?>
vou ver se consigo melhorar isso, mas banco de dados tenho muitas duvidas é complicado...
mas muito obrigado de verdade... valeu
eu prefiro usar o do proóprio dreaweaver, nunca tive problemas com ele,
e axo super seguro.
ele adiciona automático, voce só configura a tabela e as paginas.
verifica o usuário e a senha diretemante na query
depois é só verificar se retornou alguma linha, caso contrário o usuário ou senha estão incorretos