Tato.. Posted October 20, 2011 Report Share Posted October 20, 2011 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.. ;DSeguem abaixo meus códigos.login.php<?php/** * @author altair * @copyright 2011 */$login = $_GET[login];$senha = $_GET[pass];//validaçãorequire("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çãorequire("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. Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted October 21, 2011 Report Share Posted October 21, 2011 E qual é a sua dúvida?Um abraço. Quote Link to comment Share on other sites More sharing options...
0 Tato.. Posted October 21, 2011 Author Report Share Posted October 21, 2011 é 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 Quote Link to comment Share on other sites More sharing options...
0 mJi Posted October 21, 2011 Report Share Posted October 21, 2011 $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. Quote Link to comment Share on other sites More sharing options...
0 Tato.. Posted October 21, 2011 Author Report Share Posted October 21, 2011 Cara valeu, ajudou muito, consegui resolver o problema.. ;DE, 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. heheheE mais uma vez muito obrigado!! ;D Quote Link to comment Share on other sites More sharing options...
0 mJi Posted October 21, 2011 Report Share Posted October 21, 2011 Cara valeu, ajudou muito, consegui resolver o problema.. ;DE, 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. heheheE mais uma vez muito obrigado!! ;DQuanto á 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 tiposetcookie("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! Quote Link to comment Share on other sites More sharing options...
0 Tato.. Posted October 21, 2011 Author Report Share Posted October 21, 2011 (edited) 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? :sabaixo 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 October 21, 2011 by Tato.. Quote Link to comment Share on other sites More sharing options...
0 mJi Posted October 21, 2011 Report Share Posted October 21, 2011 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? :sabaixo 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. Quote Link to comment Share on other sites More sharing options...
0 Tato.. Posted October 21, 2011 Author Report Share Posted October 21, 2011 Tudo resolvido... Obrigado.. ;D Quote Link to comment Share on other sites More sharing options...
Question
Tato..
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.