Jump to content
Fórum Script Brasil
  • 0

Login em php


Tato..

Question

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 to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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>

Edited by Tato..
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...