+2

Login em Session

criado por Anderson em 23/03/2002 1:07am
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 Deletar
03/01/2002 11:56am Anderson - Versão 1.0

Comentários:

Mostrando 1 - 10 de 15 comentários
Fabio Jordão disse:
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 (~9 anos atrás)

Diandson C. disse:
não consegui colocar para funcionar qual a permissão q devo utilizar?
16/02/2007 2:05pm (~9 anos atrás)

Valeu!! script ta facinho e funciona certinho!!!
Valeu!!
30/07/2006 7:07pm (~10 anos atrás)

Cézar Ayran disse:
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>
27/03/2006 9:29am (~10 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!!!
17/02/2006 7:40am (~10 anos atrás)

Tiago disse:
Ficou show seu script! Parabéns!!!
23/08/2005 9:59pm (~11 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>
23/06/2005 11:13am (~11 anos atrás)

Obrigado pela contribuição. Bom script, bem comentado. Espero que todos comentem seus codigos que nem vc Anderson.
Abraços Carlos
02/06/2005 4:31pm (~11 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
:)
03/05/2005 3:31am (~11 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...
13/08/2003 1:50pm (~13 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)