Login em Session
Script de Login de Session! A session é registrada somente enquanto o usuário esta conectado ao site ou esta com o navegador aberto apos isso terá que se Logar novamente usando o seu nome de logim e sua senha! antes cadastrados no formulário de cadastramento! E armazenado no banco de dados ou arquivo no servido! Este script trás um exemplo de como fazer um session de login usando banco de dados mysql Qualquer duvida envie um e-mail!
Data | Autor | Changelog | Download |
---|---|---|---|
03/01/2002 11:56am | Anderson | - | Versão 1.0 |
Também não consegui fazer funcionar. Depois que eu envio o form, o login_em_session.php sempre abre em brando independente se o login estiver certo ou errado.
15/05/2007 11:48am
(~17 anos atrás)
não consegui colocar para funcionar qual a permissão q devo utilizar?
16/02/2007 2:05pm
(~18 anos atrás)
kra n ta faltando arquivo não?
<?PHP
# ---------- Autor ---------------------------------->
#
# Script Desenvolvido por Anderson Brito em 18/12/2001
# Nicks: Unixer, Anderson-RJ ou WebServ
# ICQ: 43003071
# Email: anderson-rj@linuxbr.com.br ou anderson@linuxclub.com.br
# Site: http://www.linuxclub.com.br
# ---------- Copy Right ----------------------------->
#
# Este Script pode ser usado e modificado onde você quiser!
# Só quero que quando coloque este script em seu site ou em outros sites!
# coloquem o meu nome corretamente e respeite a minha autoria deste!
# Eu quero ajudar e acabam roubando o meu script e colocando o próprio
# nome e nick! O que eu vi acontecer com o meu script de Saudações ao usuário
# que trata de Bom-dia Boa Tarde Boa noite de acordo com o horário!
# Um Grande Abraço a Todos! Anderson!
#
# ----------- Sobre o Script ----------------------->
#
# Script de Login de Session!
# A session é registrada somente enquanto o usuário esta conectado ao site ou esta com o
# navegador aberto apos isso terá que se Logar novamente usando o seu nome de
# logim e sua senha!
# antes cadastrados no formulário de cadastramento! E armazenado no banco de
# dados ou arquivo no servido!
# Este script trás um exemplo de como fazer um session de login usando banco de dados mysql
# Qualquer duvida envie um e-mail!
#
# ---------------------------------------------------->
if ($submit){ /* Se o formulário for enviado ele entra nesta parte do script senão ele ira mostrar o
formulário novamente até ser enviado corretamente!! */
if ((!$usuario) || (!$senha)){
$erro = "Desculpe! Mas você deixou algum campo em branco no formulário.";
}else{
$bd_host = "host_do_banco_de_dados"; // Endereço do servidor mySQL pode ser o localhost
$bd_user = "usuario_do_bd"; // Seu Login no mySQL
$bd_pass = "senhado_do_bd"; // Sua Senha no mySQL
$bd_bd = "nome_do_banco_de_dados"; // Nome do Banco de Dados
/* Conecta ao Banco de Dados */
$conectar = mysql_connect($bd_host, $bd_user, $bd_pass) or die (mysql_error());
/* Seleciona o Banco de dados na conexão do BD */
mysql_select_db($bd_bd, $conectar);
/* Verifica se existe usuários com aquela senha digitada!! */
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario='$usuario' and senha='$senha'");
/* Conta o numero de usuários com aquela senha */
$total = mysql_num_rows($sql);
if ($total == 1){ /* Caso o numero de usuário com aquela senha for igual a 1 entra neste if */
session_start("usuarios"); /* A session_start deve estar antes de qualquer codigo senao dará erro !! e ele pode ter qualquer nome */
session_register("usuario","senha"); /* Registra o nome de usuário e a senha caso esteja correto */
header("Location: ./site_protegido.php"); /* Redireciona o usuário para o php protegido */
exit; /* Finaliza este script aqui */
/*
No Topo do PHP protegido que o usuário será redirecionado deve-se colocar isto para evitar engraçadinhos querendo pular a proteção!
if(!(session_is_registered("usr") AND session_is_registered("pass"))){
echo "Area somente para usuários cadastrados!";
}else{
# Mostra o conteudo do site para o usuário !!!
}
*/
}else{
$erro = "Desculpe! Mas você não é cadastrado ou esqueceu sua senha !! Cadastre-se Já!!.";
}
}
}
if($erro){ /* Se existir algum erro ele entra neste if e mostra o erro antes de mostrar o formulário novamente */
echo $erro;
}
?>
<form name="form" action="login_em_session.php" method="POST" >
<p>Usuario:
<input type="text" name="usuario">
Senha:
<input type="text" name="senha">
<input type="submit" name="submit" value="ok">
</p>
</form>
<?PHP
# ---------- Autor ---------------------------------->
#
# Script Desenvolvido por Anderson Brito em 18/12/2001
# Nicks: Unixer, Anderson-RJ ou WebServ
# ICQ: 43003071
# Email: anderson-rj@linuxbr.com.br ou anderson@linuxclub.com.br
# Site: http://www.linuxclub.com.br
# ---------- Copy Right ----------------------------->
#
# Este Script pode ser usado e modificado onde você quiser!
# Só quero que quando coloque este script em seu site ou em outros sites!
# coloquem o meu nome corretamente e respeite a minha autoria deste!
# Eu quero ajudar e acabam roubando o meu script e colocando o próprio
# nome e nick! O que eu vi acontecer com o meu script de Saudações ao usuário
# que trata de Bom-dia Boa Tarde Boa noite de acordo com o horário!
# Um Grande Abraço a Todos! Anderson!
#
# ----------- Sobre o Script ----------------------->
#
# Script de Login de Session!
# A session é registrada somente enquanto o usuário esta conectado ao site ou esta com o
# navegador aberto apos isso terá que se Logar novamente usando o seu nome de
# logim e sua senha!
# antes cadastrados no formulário de cadastramento! E armazenado no banco de
# dados ou arquivo no servido!
# Este script trás um exemplo de como fazer um session de login usando banco de dados mysql
# Qualquer duvida envie um e-mail!
#
# ---------------------------------------------------->
if ($submit){ /* Se o formulário for enviado ele entra nesta parte do script senão ele ira mostrar o
formulário novamente até ser enviado corretamente!! */
if ((!$usuario) || (!$senha)){
$erro = "Desculpe! Mas você deixou algum campo em branco no formulário.";
}else{
$bd_host = "host_do_banco_de_dados"; // Endereço do servidor mySQL pode ser o localhost
$bd_user = "usuario_do_bd"; // Seu Login no mySQL
$bd_pass = "senhado_do_bd"; // Sua Senha no mySQL
$bd_bd = "nome_do_banco_de_dados"; // Nome do Banco de Dados
/* Conecta ao Banco de Dados */
$conectar = mysql_connect($bd_host, $bd_user, $bd_pass) or die (mysql_error());
/* Seleciona o Banco de dados na conexão do BD */
mysql_select_db($bd_bd, $conectar);
/* Verifica se existe usuários com aquela senha digitada!! */
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario='$usuario' and senha='$senha'");
/* Conta o numero de usuários com aquela senha */
$total = mysql_num_rows($sql);
if ($total == 1){ /* Caso o numero de usuário com aquela senha for igual a 1 entra neste if */
session_start("usuarios"); /* A session_start deve estar antes de qualquer codigo senao dará erro !! e ele pode ter qualquer nome */
session_register("usuario","senha"); /* Registra o nome de usuário e a senha caso esteja correto */
header("Location: ./site_protegido.php"); /* Redireciona o usuário para o php protegido */
exit; /* Finaliza este script aqui */
/*
No Topo do PHP protegido que o usuário será redirecionado deve-se colocar isto para evitar engraçadinhos querendo pular a proteção!
if(!(session_is_registered("usr") AND session_is_registered("pass"))){
echo "Area somente para usuários cadastrados!";
}else{
# Mostra o conteudo do site para o usuário !!!
}
*/
}else{
$erro = "Desculpe! Mas você não é cadastrado ou esqueceu sua senha !! Cadastre-se Já!!.";
}
}
}
if($erro){ /* Se existir algum erro ele entra neste if e mostra o erro antes de mostrar o formulário novamente */
echo $erro;
}
?>
<form name="form" action="login_em_session.php" method="POST" >
<p>Usuario:
<input type="text" name="usuario">
Senha:
<input type="text" name="senha">
<input type="submit" name="submit" value="ok">
</p>
</form>
27/03/2006 9:29am
(~19 anos atrás)
Sou novo por aqui! (iniciante)
Se alguem poder me ajudar gostaria de saber se tem algum script para envio de mensagens direto da pagina para meu e-mail!
Agradeço!!!
Se alguem poder me ajudar gostaria de saber se tem algum script para envio de mensagens direto da pagina para meu e-mail!
Agradeço!!!
17/02/2006 7:40am
(~19 anos atrás)
nao consegui usar o script... eu fiz uma mudança na senha pra criptografar... se eu digitar no explorer pra acessar diretamente o principal.php ele acessa...
//index.php
<?php
if ($submit) {
if ((!$usuario) || (!$senha)) {
$erro = "Os campos usuário e senha são obrigatórios!<br>";
}
else {
$host = "localhost";
$user = "root";
$pwd = "";
$banco = "unicamp";
$sel_conexao = mysql_connect($host,$user,$pwd) or die ("Não foi possível a conexão com o Banco de dados");
$sel_banco = mysql_select_db($banco,$sel_conexao) or die ("Não foi possível achar o banco especificado");
$cod = md5($senha);
$sql = "SELECT * FROM usuarios WHERE usuario= '$usuario' AND senha='$cod'";
$pesquisa = mysql_query($sql,$sel_conexao);
$resultado = mysql_num_rows($pesquisa);
if ($resultado == 1) {
$usr = $usuario;
$pass = md5($senha);
session_start();
session_register("usr");
session_register("pass");
header("Location: principal.php");
exit;
}
else {
$erro = "Falha na autenticação!<br>";
}
}
}
?>
<html>
<head>
<title>Identificação</title>
</head>
<body>
<?
if ($erro) {
echo $erro;
}
?>
Autenticação de usuários:
<form name="formautentica" action="index.php" method="post">
<input type="text" name="usuario"/><br>
<input type="password" name="senha"/><br>
<input type="hidden" name="submit" value="ok"/>
<input type="reset" value="Limpar"/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
//verificandosecao.php
<?
if (!session_is_registered("usr") AND session_is_registered("pass")){
header("Location: index.php");
exit;
}
?>
//logoff.php
<?php
session_start();
session_unset();
session_destroy();
header("Location: index.php");
exit;
?>
//principal.php
<?php
include "verificasessao.php";
?>
<html>
<head>
<title>Principal</title>
</head>
<body>
Você é um usuário autenticado!
<br>
<a href="logoff.php">Clique aqui </a>para fazer logoff!
</body>
</html>
//index.php
<?php
if ($submit) {
if ((!$usuario) || (!$senha)) {
$erro = "Os campos usuário e senha são obrigatórios!<br>";
}
else {
$host = "localhost";
$user = "root";
$pwd = "";
$banco = "unicamp";
$sel_conexao = mysql_connect($host,$user,$pwd) or die ("Não foi possível a conexão com o Banco de dados");
$sel_banco = mysql_select_db($banco,$sel_conexao) or die ("Não foi possível achar o banco especificado");
$cod = md5($senha);
$sql = "SELECT * FROM usuarios WHERE usuario= '$usuario' AND senha='$cod'";
$pesquisa = mysql_query($sql,$sel_conexao);
$resultado = mysql_num_rows($pesquisa);
if ($resultado == 1) {
$usr = $usuario;
$pass = md5($senha);
session_start();
session_register("usr");
session_register("pass");
header("Location: principal.php");
exit;
}
else {
$erro = "Falha na autenticação!<br>";
}
}
}
?>
<html>
<head>
<title>Identificação</title>
</head>
<body>
<?
if ($erro) {
echo $erro;
}
?>
Autenticação de usuários:
<form name="formautentica" action="index.php" method="post">
<input type="text" name="usuario"/><br>
<input type="password" name="senha"/><br>
<input type="hidden" name="submit" value="ok"/>
<input type="reset" value="Limpar"/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
//verificandosecao.php
<?
if (!session_is_registered("usr") AND session_is_registered("pass")){
header("Location: index.php");
exit;
}
?>
//logoff.php
<?php
session_start();
session_unset();
session_destroy();
header("Location: index.php");
exit;
?>
//principal.php
<?php
include "verificasessao.php";
?>
<html>
<head>
<title>Principal</title>
</head>
<body>
Você é um usuário autenticado!
<br>
<a href="logoff.php">Clique aqui </a>para fazer logoff!
</body>
</html>
23/06/2005 11:13am
(~19 anos atrás)
Obrigado pela contribuição. Bom script, bem comentado. Espero que todos comentem seus codigos que nem vc Anderson.
Abraços Carlos
Abraços Carlos
02/06/2005 4:31pm
(~19 anos atrás)
ola
é simples!!
o arquivo verificasessao.php tem que ficar asim!
<?
if (!session_is_registered("usr") AND session_is_registered("pass")){
header("Location: index.php");
exit;
}
?>
pronto fim do erro!!
abraços
:)
é simples!!
o arquivo verificasessao.php tem que ficar asim!
<?
if (!session_is_registered("usr") AND session_is_registered("pass")){
header("Location: index.php");
exit;
}
?>
pronto fim do erro!!
abraços
:)
03/05/2005 3:31am
(~19 anos atrás)
Olá pessoal,primeiramente peço desculpas pelo tamanho da mensagem mas não vi outro jeito de solucionar meu problema.
Eu criei os arquivos que o Anderson propôs e não consegui executar esse script.
Ora funciona ora não funciona.
Os meus arquivos são estes:
index.php
<?
if ($submit) {
if ((!$usuario) || (!$senha)) {
$erro = "O campo usuario e senha são obrigatórios!<br>";
}
else {
$host = "localhost";
$user = "nomedousuario";
$pwd = "senhadousuario";
$banco = "bancodetestes";
$sel_conexao = mysql_connect($host,$user,$pwd) or die ("Não foi possível a conexão com o Banco de dados");
$sel_banco = mysql_select_db($banco,$sel_conexao) or die ("Não foi possível achar o banco especificado");
$sql = "SELECT * FROM usuarios WHERE usuario='".$usuario."'AND senha='".$senha."'";
$pesquisa = mysql_query($sql,$sel_conexao);
$resultado = mysql_num_rows($pesquisa);
if ($resultado == 1) {
$usr = $usuario;
$pass = $senha;
session_start();
session_register("usr");
session_register("pass");
header("Location: principal.php");
exit;
}
else {
$erro = "Falha na autenticação!<br>";
}
}
}
?>
<html>
<head>
<title>Index</title>
</head>
<body>
<?
if ($erro) {
echo $erro;
}
?>
Autenticação de usuários
<form name="formautentica" action="index.php" method="post">
<input type="text" name="usuario"/><br>
<input type="text" name="senha"/><br>
<input type="hidden" name="submit" value="ok"/>
<input type="reset" value="Limpar"/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
verificasessao.php
<?
if (!session_is_registered("usr")) {
header("Location: index.php");
exit;
}
?>
principal.php
<?
include "verificasessao.php";
?>
<html>
<head>
<title>Principal</title>
</head>
<body>
Você é um usuário autenticado!
<br>
<a href="logoff.php">Clique aqui </a>para fazer logoff!
</body>
</html>
logoff.php
<?
session_start();
session_unset();
session_destroy();
header("Location: index.php");
exit;
?>
Demais informações:
O usuario e a senha que eu estou testando estão válidos no banco e o resultado é 1 no arquivo index.php.
Então, o script chega a criar a sessão (eu chequei os dados no c:\temp)mas na quando verifica se o usuário e a senha estão registrados na sessão dá pau.
O problema é que no arquivo verificasessao.php a condição if (!session_is_registered("usr")) retorna verdadeiro e é redirecionado para o index.php quando deveria ir para o principal.php pois a sessão está criada e o dados estão certos.
Qualquer ajuda será bem vinda.
Valeu...
Eu criei os arquivos que o Anderson propôs e não consegui executar esse script.
Ora funciona ora não funciona.
Os meus arquivos são estes:
index.php
<?
if ($submit) {
if ((!$usuario) || (!$senha)) {
$erro = "O campo usuario e senha são obrigatórios!<br>";
}
else {
$host = "localhost";
$user = "nomedousuario";
$pwd = "senhadousuario";
$banco = "bancodetestes";
$sel_conexao = mysql_connect($host,$user,$pwd) or die ("Não foi possível a conexão com o Banco de dados");
$sel_banco = mysql_select_db($banco,$sel_conexao) or die ("Não foi possível achar o banco especificado");
$sql = "SELECT * FROM usuarios WHERE usuario='".$usuario."'AND senha='".$senha."'";
$pesquisa = mysql_query($sql,$sel_conexao);
$resultado = mysql_num_rows($pesquisa);
if ($resultado == 1) {
$usr = $usuario;
$pass = $senha;
session_start();
session_register("usr");
session_register("pass");
header("Location: principal.php");
exit;
}
else {
$erro = "Falha na autenticação!<br>";
}
}
}
?>
<html>
<head>
<title>Index</title>
</head>
<body>
<?
if ($erro) {
echo $erro;
}
?>
Autenticação de usuários
<form name="formautentica" action="index.php" method="post">
<input type="text" name="usuario"/><br>
<input type="text" name="senha"/><br>
<input type="hidden" name="submit" value="ok"/>
<input type="reset" value="Limpar"/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
verificasessao.php
<?
if (!session_is_registered("usr")) {
header("Location: index.php");
exit;
}
?>
principal.php
<?
include "verificasessao.php";
?>
<html>
<head>
<title>Principal</title>
</head>
<body>
Você é um usuário autenticado!
<br>
<a href="logoff.php">Clique aqui </a>para fazer logoff!
</body>
</html>
logoff.php
<?
session_start();
session_unset();
session_destroy();
header("Location: index.php");
exit;
?>
Demais informações:
O usuario e a senha que eu estou testando estão válidos no banco e o resultado é 1 no arquivo index.php.
Então, o script chega a criar a sessão (eu chequei os dados no c:\temp)mas na quando verifica se o usuário e a senha estão registrados na sessão dá pau.
O problema é que no arquivo verificasessao.php a condição if (!session_is_registered("usr")) retorna verdadeiro e é redirecionado para o index.php quando deveria ir para o principal.php pois a sessão está criada e o dados estão certos.
Qualquer ajuda será bem vinda.
Valeu...
13/08/2003 1:50pm
(~21 anos atrás)