Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

§_ladyshaolin_§

em script de autenticação

Recommended Posts

Olá gente! Agora estou na parte de autenticação de usuários, mas acho q há algo de errado na minha "lógica" porque mesmo com o login e senha corretos, ele volta para a página index.

Meu código encontra-se assim:

 

<? require "dsn.php";

 

session_start();

 

$login = $_POST["login"];

$senha = $_POST["senha"];

 

$sql = mysql_query("SELECT (login, nome, sobrenome, permissao, status) FROM usuario_adm WHERE (login = '".$login."' || senha = md5('".$senha."') || status='ativo'))");

$dados = mysql_fetch_array($sql);

 

if(!$dados){

header("location: index.html");

}

else{

$_SESSION["login_user" = $dados["login"];

$_SESSION["nome_user"] = $dados["nome"];

$_SESSION["sobrenome_user"] = $dados["sobrenome"];

$_SESSION["permissao_user"] = $dados["permissao"];

header("location: adm.php");

}

 

?>

 

alguém pode me ajudar? http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, no Select, em vez de utilizar || utlize &&, pois ele tem que verificar no banco se o "login e senha" são iguais aos informados no formulário e não "login ou senha"...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Substitui o header("location:index.html") por mysql_error(); e apareceu isso:

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-7\www\natus_teste\proc_verlog.php on line 9

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-7\www\natus_teste\proc_verlog.php on line 11

Você tem um erro de sintaxe no seu SQL próximo a ' nome, senha, sobrenome, permissao, status) FROM usuario_adm WHERE (login = 'usu' na linha 1

 

O que há de errado? Não consigo encontrar o erro nas linhas especificadas... :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

PHP

[*]<? require "dsn.php";

 

[*]

 

[*]session_start();

 

[*]

 

[*]$login = $_POST["login"];

 

[*]$senha = $_POST["senha"];

 

[*]$md5 = md5($senha);

 

[*]

 

[*]$sql = mysql_query("SELECT login, nome, sobrenome, permissao, status FROM usuario_adm WHERE login='$login' AND senha='$md5' AND status='ativo'") or die(mysql_error());

 

[*]$dados = mysql_fetch_array($sql); 

 

[*]

 

[*]if(!$dados){

 

[*]header("location: index.html");

 

[*]}

 

[*]else{

 

[*]$_SESSION["login_user" = $dados["login"];

 

[*]$_SESSION["nome_user"] = $dados["nome"];

 

[*]$_SESSION["sobrenome_user"] = $dados["sobrenome"];

 

[*]$_SESSION["permissao_user"] = $dados["permissao"];

 

[*]header("location: adm.php");

 

[*]}

 

[*]

 

[*]?>

 

Diga o que acontece!

 

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora apareceram esses erros:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-7\www\natus_teste\proc_verlog.php on line 10Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-7\www\natus_teste\proc_verlog.php on line 12

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola galera...tive dando uma olhada no script e quero dar uma sugestão. A ultima versao do script feita pelo _b l k_ está legal. Só poderia fazer um teste nesta area

  Citar

if(!$dados){header("location: index.html");}else{$_SESSION["login_user" = $dados["login"];$_SESSION["nome_user"] = $dados["nome"];$_SESSION["sobrenome_user"] = $dados["sobrenome"];$_SESSION["permissao_user"] = $dados["permissao"];header("location: adm.php");}

Em vez de usar a variavel $dados podemos usar a variavel $sql. Se a consulta não estiver correta ele vai pro index.html. tipo assim
  Citar

if(!$sql){header("location: index.html");}else{$_SESSION["login_user" = $dados["login"];$_SESSION["nome_user"] = $dados["nome"];$_SESSION["sobrenome_user"] = $dados["sobrenome"];$_SESSION["permissao_user"] = $dados["permissao"];header("location: adm.php");}

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz algumas modificações:

 

<? require "dsn.php";

 

session_start();

$login = $_POST["login"];

$senha = $_POST["senha"];

$md5 = md5($senha);

 

$sql = mysql_query ("SELECT login, nome, senha, sobrenome, permissao, status FROM usuario_adm WHERE login = '$login' AND senha = '$md5'");

//$dados = mysql_fetch_array($sql);

 

//if(mysql_num_rows($dados)==0){

if(!$sql){

//header("location:index.html");

echo "falhou!";

}

else{

$_SESSION["login_user"] = $sql["login"];

$_SESSION["nome_user"] = $sql["nome"];

$_SESSION["sobrenome_user"] = $sql["sobrenome"];

$_SESSION["permissao_user"] = $sql["permissao"];

//header("location:adm.php");

echo "logado!";

}

 

e agora aparece "logado!" direto, mesmo que a senha esteja errada... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.