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

Login em php


Tato..

Pergunta

Gente, não estou conseguindo completar meu script para fazer o login, já pesquisei muito na net, se alguém puder me dar uma foça ai.. ;D

Seguem abaixo meus códigos.

login.php

<?php

/**

* @author altair

* @copyright 2011

*/

$login = $_GET[login];

$senha = $_GET[pass];

//validação

require("connect.php");

$validar == mysql_query("SELECT * FROM usuario WHERE login='$login' AND senha='$senha'") or die(mysql_error());

$validacao == mysql_num_rows('$validar');

if (

$validacao == 1) {

setcookie("login", $login);

setcookie("senha", $senha);

echo "Usuário logado com sucesso!!";

} else {

echo "O login ou a senha estão incorretos, tente novemente";

}

print '$login'

?>

connect.php

<?php

/**

* @author altair

* @copyright 2011

*/

$login = $_GET[login];

$senha = $_GET[pass];

//validação

require("connect.php");

$validar == mysql_query("SELECT * FROM usuario WHERE login='$login' AND senha='$senha'") or die(mysql_error());

$validacao == mysql_num_rows('$validar');

if (

$validacao == 1) {

setcookie("login", $login);

setcookie("senha", $senha);

echo "Usuário logado com sucesso!!";

} else {

echo "O login ou a senha estão incorretos, tente novemente";

}

print '$login'

?>

Por favor, preciso de ajuda, estou iniciando, desde já agradeço.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

é que já verifiquei várias vezes as dbs, e está tudo certo, só que não loga, e eu não consigo achar o erro, tipo, ele não aparece o erro que não conectou, só que não conecta, mesmo porque ele não imprime o cookie que eu coloquei entende?

já perdi horas em cima disto. se puder me ajudar..

Obrigado.. ;D

Link para o comentário
Compartilhar em outros sites

  • 0

$login = $_GET[login];
$senha = $_GET[pass];
Coloque aspas simples no nome dos gets. Assim:
$login = $_GET['login'];
$senha = $_GET['pass'];
Para atribuir o retorno do mysql_connect á uma variável, ao invés de
$variavel == mysql_query ....
use
$validar = mysql_query ....
Na query
"SELECT * FROM usuario WHERE login='$login' AND senha='$senha'"
Coloque o caractere ` entre as palavras oriundas do banco de dados. Isto facilita. Além disto, ao utilizar uma variavel na query, crie um 'buraco' na string com as aspas duplas, coloque o operador de união (ponto), digite a variavel, mais um operador de união, feche as aspas. Exemplo:
"SELECT * FROM `usuario` WHERE `login` = '".$login."' AND `senha` = '".$senha."'"
Ficando...
$validar = mysql_query("SELECT * FROM `usuario` WHERE `login` = '".$login."' AND `senha` = '".$senha."'") or die(mysql_error());
A atribuição do mysql_num_rows também é com um único sinal de igual (bem como todas as atribuições, acredito eu). Além disto, o recurso que possui os resultados da query (no caso, a variavel $validar) deve ser passada para a função sem as aspas simples:
$validacao = mysql_num_rows($validar);
Na linha
print '$login'
Faltou o ponto-e-vírgula. Prefira o 'echo' para exibir o conteúdo de uma variável. A sintaxe é
echo $login;

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara valeu, ajudou muito, consegui resolver o problema.. ;D

E, você conhece alguma coisa com cookies do tipo que bloqueia o computador por excesso de tentativas. Eu sei que é fácil limpar os cookies, mas é só pra estudo, estou dedicando muitas horas do meu dia para estudar programação voltada para web. hehehe

E mais uma vez muito obrigado!! ;D

Link para o comentário
Compartilhar em outros sites

  • 0
Cara valeu, ajudou muito, consegui resolver o problema.. ;D

E, você conhece alguma coisa com cookies do tipo que bloqueia o computador por excesso de tentativas. Eu sei que é fácil limpar os cookies, mas é só pra estudo, estou dedicando muitas horas do meu dia para estudar programação voltada para web. hehehe

E mais uma vez muito obrigado!! ;D

Quanto á isto, você pode colocar um contador que vá contando quantas tentativas foram falhas, até atingir um certo limite. Ao atingí-lo, planta um cookie simples, do tipo

setcookie("bloquear", "1", time()+3600*24*7);

E antes de exibir o formulário de login, pegar o cookie. Se existir e estiver setado para 1, exibe a mensagem "Acesso bloqueado.", caso não existir, exibe o formulário normalmente.

Qualquer coisa tamo ae!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, antes eu testei e deu certo, agora não entendi o porque de não estar mais conseguindo recuperar os dados do formulário que está na outra página. Tipo, -- action="login.php" --, e como esta lá no tópico os $_GET não estão mais recuperando esses dados, você tem alguma ideia do porque? :s

abaixo o formulário.

<form method="post" action="login.php">

<input type="text" maxlength="8" name="login" />

<input type="password" maxlength="8" name="pass" />

<input type="submit" name="enviar" value="enviar"/>

</form>

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

  • 0
Bom, antes eu testei e deu certo, agora não entendi o porque de não estar mais conseguindo recuperar os dados do formulário que está na outra página. Tipo, -- action="login.php" --, e como esta lá no tópico os $_GET não estão mais recuperando esses dados, você tem alguma ideia do porque? :s

abaixo o formulário.

<form method="post" action="login.php">

<input type="text" maxlength="8" name="login" />

<input type="password" maxlength="8" name="pass" />

<input type="submit" name="enviar" value="enviar"/>

</form>

Aí está o erro.

Você está enviando os dados do formulário pelo método POST, mas está os recebendo pelo GET.

Forms de login são quase que obrigatoriamente por POST, então basta alterar

$login = $_GET['login'];
$senha = $_GET['pass'];
para
$login = $_POST['login'];
$senha = $_POST['pass'];

..no arquivo login.php.

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...