Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com Login


urbanos

Pergunta

Pessoal montei um sisteminha de cadastro php/mysql e o cadastro é efetuado com sucesso tudo belezinha. no entanto na hora de fazer o login aparecem a mensage "usuario e senha" invalido acho que errei o códico de "logar" e ele não deve estar se conectando com o BD se purem me ajudar agradeço muito. Abaixo segue o códio de logar.

<?

include "configuracao.php";

$db = mysql_connect ($host, $login_db, $senha_db);

$basedados = mysql_select_db($database);

if($loginbanco == $login AND $senhabanco == $senha){

session_register(login);

session_register(senha);

header("Location: area_vip.php");

}

$resultado = mysql_query("SELECT login, senha FROM usuarios_vip WHERE login='$login' AND senha='$senha'") or print (mysql_error());

while($linha = mysql_fetch_array($resultado)){

$loginbanco = $linha["login"];

$senhabanco = $linha["senha"];

}

echo

"

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\"Erro: Usuário ou senha inválidos!\");

</script>

";

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

E o session_start?? Sem ele você não cria sessão.

<?
session_start();
include "configuracao.php";

$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

if($loginbanco == $login AND $senhabanco == $senha){
session_register(login);
session_register(senha);
header("Location: area_vip.php");
}
$resultado = mysql_query("SELECT login, senha FROM usuarios_vip WHERE login='$login' AND senha='$senha'") or print (mysql_error());
while($linha = mysql_fetch_array($resultado)){
$loginbanco = $linha["login"];
$senhabanco = $linha["senha"];
}
echo
"
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
<script type=\"text/javascript\">
alert(\"Erro: Usuário ou senha inválidos!\");
</script>
";
?>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Mario, estou quebrando a cabeça agora deu o seguinte erro

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/dominio/www/logar.php:8) in /home/dominio/www/logar.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/dominio/www/logar.php:8) in /home/dominio/www/logar.php on line 9

e a linha 9 é exatamente session_start

Editado por urbanos
Link para o comentário
Compartilhar em outros sites

  • 0

Mario, acho que estamos chegando perto e desculpe minha ignorância mas sou iniciante e é meu primeiro projeto com bd + php.

Não sei se pode ter alguma coisa a ver mas meu servidor é php5.

Agora aparece o seguinte :

Parse error: syntax error, unexpected $end in /home/dominio/www/logar.php on line 35

só que "line 35 - é

1--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2--><html xmlns="http://www.w3.org/1999/xhtml">

3--><head>

4--><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

5--><title>Untitled Document</title>

6--></head>

7--><body>

8--><?

9-->session_start();

10-->include "configuracao.php";

11-->

12-->$db = mysql_connect ($host, $login_db, $senha_db);

13-->$basedados = mysql_select_db($database);

14-->

15-->if($loginbanco == $login AND $senhabanco == $senha){

16-->session_register(login);

17-->session_register(senha);

18-->echo"<script type=\"text/javascript\">

19--> window.location='area_vip.php';

20--> </script>";

21-->$resultado = mysql_query("SELECT login, senha FROM usuarios_vip WHERE login='$login' AND senha='$senha'") or print (mysql_error());

22-->while($linha = mysql_fetch_array($resultado)){

23-->$loginbanco = $linha["login"];

24-->$senhabanco = $linha["senha"];

25-->}

26-->echo

27-->"

28--><META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

29--><script type=\"text/javascript\">

30-->alert(\"Erro: Usuário ou senha inválidos!\");

31--></script>

32-->";

33-->?>

34--></body>

35--></html>

Editado por urbanos
Link para o comentário
Compartilhar em outros sites

  • 0

Então..aki não está dando problema com isso.

Coloquei o script pra rodar, em cima da minha base de dados...e funciona normal.

Pergunta: como você está capturando as informações enviadas pelo usuário?

Note seu if:

if($loginbanco == $login AND $senhabanco == $senha){
session_register(login);
session_register(senha);
echo"<script type=\"text/javascript\">
 window.location='area_vip.php';
 </script>";
 }

Onde $login e $senha são (aparentemente)enviados pelo usuário. Mas eu não estou vendo nenhum metodo de captura ($_POST[] ou $_REQUEST[]) .

Coloquei o script que você havia me enviado pra rodar em meu servidor, na minha base de dados ..aqui , o redirecionamento da página acontece normalmente.

você deve ter feito alguma modificação no que eu postei pra você pra estar dando este erro.

Tem como você postar novamente seu código?

Editado por Mario Junior
Link para o comentário
Compartilhar em outros sites

  • 0

Caso você tenha esquecido de capturar as variáveis enviadas pelo usuário, segue:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title> 
</head>
<body>
<?
session_start();
include "configuracao.php";
$login=$_POST['login'];
$senha=$_POST['senha'];
$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);
$resultado = mysql_query("SELECT login, senha FROM usuarios_vip WHERE login='".addslashes($login)."' AND senha='".addslashes($senha)."'") or print (mysql_error());
while($linha = mysql_fetch_array($resultado)){
$loginbanco = $linha["login"];
$senhabanco = $linha["senha"];
}

if($loginbanco == $login AND $senhabanco == $senha){
session_register(login);
session_register(senha);
echo"<script type=\"text/javascript\">
 window.location='area_vip.php';
 </script>";
 }else{

echo"
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
<script type=\"text/javascript\">
alert(\"Erro: Usuário ou senha inválidos!\");
</script>
";
}
?>
</body>
</html>

Veja que eu coloquei a função addslashes na query, ela protege um pouco mais de injeções de SQL.

Editado por Mario Junior
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...