Ir para conteúdo



Sistema de login com sessão (Simples)


  • Por favor, faça o login para responder
29 respostas neste tópico

#1 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 10 July 2007 - 05:31 PM

Crie o index.html será nosso formulário

<form action="senha.php" method="POST">
usuário : <br> <input name="usuario" type="text" size="30"><br>
senhal: <br> <input name="password" type="password" size="30"> <br>
<input name="enviar" type="submit" id="enviar" value="enviar">

Coisas úteis!

NAME = usuário e NAME = password será necessário para próxima página o ACTION = senha.php

***********************************************************************

sendo assim vamos criar o senha.php

<?php
ob_start();
$login = "marquinho"; //armazena o usuário dentro da variável $login
$senha = "123456"; //armazena a senha dentro da variável $senha

//se o usuário digitado for igual ao que esta ali em cima, e a senha também
echo "
LOGIN: $login<br>
LOGIN DIGITADO: ".$_POST['usuario']."<br>
SENHA: $senha<br>
SENHA DIGITADA: ".$_POST['password']."<br><br>
";
if ($login == $_POST['usuario'] && $senha == $_POST['password'])
//entao execute isto
{
//aqui vai entrar a novidade, antes de redirecionarmos
//vamos salvar algumas informações para utilizar depois

//primeiro eu dou o valor 1 para a variável $validacao
$validacao = "1"; //usaremos essa variável para verificar se ele está logado, se o usuário não tiver o valor 1 nessa variável ele não está logado!
$usuario = $_POST['usuario']; // puxa o nome do usuário digitado no formulario do index.html
//inicio uma Sessao (session e similar a uma gaveta movel)
session_start();
//gravo as informações das variáveis dentro das sessões
$_SESSION['usuario'] = $usuario;
$_SESSION['validacao'] = $validacao;

//Pronto agora redirecione o usuário para a página secreta

//abre a página secretaaaa
header("Location: secreta.php");
}
//senao
else
{
//exiba um alerta dizendo que a senha esta errada
?>

<script type="text/javascript">
alert("Login ou senha incorreta");
</script>

<?
echo "<a href=index.html>VOLTAR</a>";
}
?>


***********************************************************************

Bem agora vamos criar nossa página secreta, e fazer a verificação a partir da Sessão que abrimos

secreta.php

<?
//Inicia a sessão
session_start();
//agora verifico se ele possui permissão para acessar a página
if ($_SESSION['validacao'] == "1")
{
?>
<HTML>
<HEAD>
<TITLE>Pagina restrita 1</TITLE>
</HEAD>
<BODY>
Seja bem vindo <b><? echo $usuario; ?></b> a Pagina restrita
<br>
<a href="deslogar.php">Deslogar</a>
</BODY>
</HTML>
<?
} else {
//exiba um alerta dizendo que a senha esta errada
?>

<script type="text/javascript">
alert("Login ou senha incorreta");
</script>

<?
echo "<a href=index.html>VOLTAR</a>";
}
?>


***********************************************************************

Agora nós criamos um link para deslogar correto na página restrita correto?

Então vamos criar esta página que terá a função de nada mais do que "deletar" as sessões

Sendo assim a variável $validacao terá o valor 0 ao invés de 1, quando ele tentar entrar vai dar erro ; )

deslogar.php

<?
ob_start();
//INICIALIZA A SESSÃO
session_start();

//DESTRÓI AS SESSOES
unset($_SESSION[usuario]);
unset($_SESSION[validacao]);
session_destroy();

//REDIRECIONA PARA A TELA DE LOGIN
Header("Location: index.html");
?>

Editado por kinzinho, 03 March 2008 - 10:01 AM.

Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!



#2 inf_sheila

inf_sheila
  • Membros
  • 1 posts

Postado 17 June 2008 - 03:29 PM

Caro, copiei o seu codigo e coloquei para rodar ele sempre diz que a senha e o login está incorreto e quando não coloca nada nos campos mostra a senha e o login que deveria ser colocado, como posso resolver este problema?

obrigada

#3 Mayron

Mayron
  • Membros
  • 20 posts

Postado 08 July 2008 - 03:11 PM

Sheila como vc está fazendo????


se vc fez igual não era para está acontecendo isso....

<form action="senha.php" method="POST">
usuário : <br> <input name="usuario" type="text" size="30"><br>
senhal: <br> <input name="password" type="password" size="30"> <br>
<input name="enviar" type="submit" id="enviar" value="enviar">

pois não exite nenhum atributo "valeu" nos inputs.... manda o código aqui para dar uma olhada

#4 Shout Fear

Shout Fear
  • Membros
  • 1 posts

Postado 12 November 2008 - 06:54 AM

Mayron,
Aconteceu o mesmo problema comigo....
Ao digitar o usuario e senha, aparaece a janela dizendo que o usuario já está logado...
o que eu faço.... huh.gif
shoutfear@hotmail.com

#5 Mayron

Mayron
  • Membros
  • 20 posts

Postado 12 November 2008 - 09:33 AM

QUOTE(Shout Fear @ Nov 12 2008, 06:54 AM) <{POST_SNAPBACK}>
Mayron,
Aconteceu o mesmo problema comigo....
Ao digitar o usuario e senha, aparaece a janela dizendo que o usuario já está logado...
o que eu faço.... huh.gif



vc está entrando na função deslogar.php????
no seu caso é como a sessão ativa, da um var_dump($_SESSION)

#6 Claudimir

Claudimir
  • Membros
  • 7 posts

Postado 11 April 2009 - 05:59 PM

Boa tarde Kinzinho.
Minha dúvida com relação a esse sistema utilizando SESSION, e acredito que também pode afligir alguns outros colegas é a seguinte:

O sistema tem algum dispositivo para verificar quando o usuário fechar a janela ou a aba do novagador ele fazer um LOGOUT automático?

Ocorre que ao fechar o browser ou a aba, a session que deveria se auto-destruir não ocorre, de modo que se vc abre novamente a página, não precisa mais se logar, uma vez que a sessão ainda está aberta, não foi encerrada com o fechamento da janela ou da aba. Isso causa o que se chamam de "roubo de sessão". Entendeu o que pode ocorrer se não houver esse dispositivo?

Já pesquisei na net, encontrei outros sistemas semelhantes, mas não consegui achar uma resposta objetiva. Aliás, encontrei apenas um tópico que tenta solucionar o problema, usando JavaScript, mas ainda não testei.

Feliz aquele que passa o que sabe e aprende o que ensina.

#7 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 29 April 2009 - 07:37 PM

SEi do que está falando mas isso é problema com o navegador não com o script em si, no caso tente passar a session id para validar e coloca um tempo de vida na sessão algo deste tipo
Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#8 Acolitato

Acolitato
  • Membros
  • 2 posts

Postado 12 June 2009 - 09:29 PM

Tem como colocar nesse sistema uma pagina que todos os logados possão ver?
Exemplo... if ($_SESSION['validacao'] == "1")
so com mais validações "1" "2"......


#9 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 12 June 2009 - 10:49 PM

até tem mas teria que fazer umas mudanças por exemplo jogar o usuario senha e nivel de acesso em uma array

Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#10 Acolitato

Acolitato
  • Membros
  • 2 posts

Postado 12 June 2009 - 10:52 PM

QUOTE(kinzinho @ Jun 12 2009, 10:49 PM) <{POST_SNAPBACK}>
até tem mas teria que fazer umas mudanças por exemplo jogar o usuario senha e nivel de acesso em uma array

vlw
então deixa queto...naum sei mexer com isso
eu faço um pra cada usuario!


#11 Tofolê

Tofolê
  • Membros
  • 1 posts

Postado 03 April 2010 - 04:48 PM

Da erro de usuario e senha.
fiz exatamente como está no post.
alguem poderia me ajudar...???
agradeço a att.

#12 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 05 April 2010 - 11:59 PM

O que chama de erro?
Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#13 Marcelo Valotta

Marcelo Valotta
  • Membros
  • 2 posts

Postado 06 July 2010 - 10:33 AM

Srs gostaria de um auxilio.
Comecei utilizando este sistema para login com sessões e funciona como deveria,
ja inclui funções de banco de dados e cadastro.
Porem tenho uma duvida o qual não estou entendendo o funcionamento:

Após efetuar o login eu gostaria que a pessoas voltasse para a mesma pagina em que o login foi feito.

Apesar de ter visto informações sobre isso, não entendo a forma com que deve funcionar.
Alguem poderia me dar uma luz por favor.

Obrigado.

#14 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 06 July 2010 - 02:21 PM

Existem várias formas de ser fazer isto, uma delas é via JS
java script:history.go(-1)

no php tem o

$_SERVER['HTTP_REFERER']

QUOTE(Marcelo Valotta @ Jul 6 2010, 10:33 AM) <{POST_SNAPBACK}>
Srs gostaria de um auxilio.
Comecei utilizando este sistema para login com sessões e funciona como deveria,
ja inclui funções de banco de dados e cadastro.
Porem tenho uma duvida o qual não estou entendendo o funcionamento:

Após efetuar o login eu gostaria que a pessoas voltasse para a mesma pagina em que o login foi feito.

Apesar de ter visto informações sobre isso, não entendo a forma com que deve funcionar.
Alguem poderia me dar uma luz por favor.

Obrigado.


Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#15 Marcelo Valotta

Marcelo Valotta
  • Membros
  • 2 posts

Postado 06 July 2010 - 03:22 PM

Muito obrigado pela informação.

Agora sei o que procurar.




0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)