Aprenda a criar um sistema de sessão.
Primeiro você preciza criar seu bando de dados MySQL onde ficarão armazenados os usuarios cadastrados."
BANCO DE DADOS:
CREATE TABLE login (
id int(5) NOT NULL auto_increment primary key,
login varchar(10) NOT NULL,
senha varchar(10) NOT NULL
);
Após criar a tabela, insira um login e uma senha nela, no exemplo iremos usar a login: openscript e senha: 1234
Agora deve-se criar um arquivo de configuração do sistema, o qual se chamará "conf.php"
conf.php
PHP [/tr][tr]<?php$host = "localhost"; // Caminho para o servidor MySQL
$user = "login"; // Login para conecta com o MySQL
$pass = "senha"; // Senha para conectar com o MySQL
$base = "nome_da_base"; // Nome do Banco de Dados
//FAZENDO A CONEXÃO COM O BANCO DE DADOS
$con = mysql_connect($host, $user, $pass);
$banco = mysql_select_db($base);
//TABELA USANDA PELO SISTEMA
$tbl_login = "login";
?>
[/tr]
Comentário do código:
Há dois itens a serem modificados. O primeiro passo é configurar as variáveis da linhas 02 até a linhas 05, que são as informações do banco de dados. Em segundo lugar, deve-se configarar a variavel $tbl_login que conterá o nome da sua tabela no banco de dados.
Cria-se agora a página inicial do sistema, aquela que terá o formulário para o usuário entrar com o login e a senha. Esta página se chamrá "index.php":
index.php
01 | <html>02 | <head>03 | <title>Sistema de Login Utilizando Sessão - Open SCRIPT </title>04 | </head>05 | <body bgcolor="#FFFFFF" text="#000000">06 | form method="post" action="login.php">07 | <bable width="200" border="0" cellspacing="3" cellpadding="0" align="center">08 | <tr>09 | <td><font face="Verdana" size="1">Login</font></td>10 | <td><input type="text" size="20" name="login"></td>11 | </tr>12 | <tr>13 | <td><font face="Verdana" size="1">Senha</font></td>14 | <td><input type="password" size"20" name="senha"></td>15 | </tr>16 | <tr>17 | <td colspan="2" align="center"><input type="submit" value="Entrer"></td>18 | </tr>19 | </table>20 | </form>21 | </body>22 | </html>
Comentário do código
Essa página faz com que as informações digitadas no campo login e senha (linhas 11 e 15) sejam enviadas para a página login.php (linha 06) para ser feito o processo de autenticação.
Agora, será visto como funciona a página "login.php", que fará todo o 'trabalho sujo' do sistema. Ou seja, será ela que erá verificar se o login e a senha digitados na página "index.php" estão cadastrados no banco de dados. Portanto, este processo deve ser feito com calma e bastante atenção.
login.php
**PHP** [/tr][tr]<?php//Arquivo de configuração
include "conf.php";
//Selecionando e recuperando dados
$sql = "SELECT * FROM $tbl_login WHERE login = '$login' AND senha = '$senha'";
$rs = mysql_qury($sql);
$tot = mysql_num_rows($rs);
//Verificar login e senha
if ($tot == 0) {
echo "Login e/ou senha inválidos<br>Clique <a
href="
index.php">aqui</a> para voltar e tente novamente.";}
else {
session_star("login");
session_name();
session_destroy();
session_register("login","senha");
header ("Location:pagina.php");
exit;
}
?>
[/tr]
Comentário do código
**Linha 03:** Faz um include com o arquivo *conf.php*, para conectar o banco de dados, e para saber qual o valor armazenado na variável *$tbl_login*;
**Linha 05:** Faz uma query, selecionando os dados da tabela *$tbl_login* (login) quando o login e senhas digitados no *index.php* estejam cadastradas no banco de dados;
**Linha 06:** Executa a query da variavel $sql;
**Linha 07:** Verifica registros retornados;
**Linha 09:** Parte fundamental do sistema, verifica se o total de registros armazenados na variável $tot é igual (==) a 0;
**Linha 10:** Se resultado for TRUE (valor da variável $tot igual a 0), o login e senhas no *index.php* não estão cadastrados no banco de dados. Isso faz com que retorne uma mensagem de erro para o visitante;
**Linha 13:** Se o resultado for FALSE (valor da variavel *$tot* diferente de 0), então ele executa as linhas seguintes;
**Linha 14:** Inicializa uma sessão, no caso a sessão *login*;
**Linha 15:** Retorna e/ou ajusta o nome da sessão, nesse caso deixamos em branco;
**Linha 16:** Fecha qualquer sessão que esteja aberta no momento;
**Linha 17:** Regista as variaveis *login* e *senha* na sessão;
Linha 18: Redireciona para a página protegida (pagina.php).
O próximo passo é criar a página que verificará se o visitante está logado ou não no sistema que deseja entrar.
login2.php
PHP [/tr][tr]<?php session_start("login");if(!(session_is_registered("login") AND
session_is_registered("senha"))) {
header("Locaton:index.php");
exit;
}
$login=$HTTP_SESSION_VARS [login];
$senha=$HTTP_SESSION_VARS [senha];
?>
[/tr]
Comentário do código
Linha 02: Inicializa asessão. Repare que dentro de session_start("") está escrita login. Caso tenha sido mudado esse nome na pagina login.php (linha 14) deve-se mudar aqui também.
Linha 03: Verifica se as variáveis login e senha estão registradas na sessão login. Se as variaveis não estiverem cadastradas na sessão, então o sistema redirecionará o visitante para a página index.php, para que ele possa digitar o login e a senha no formulário. session_is_registered("");
Linha 04: Redireciona o visitante para o inde.php, caso ele não tenha feito o login.
Linha 07: Armazena na variável $login os dados da variável de sessão login.
Linha 08: Armazena na variável $senha os dados da variável sessão senha.
Para proteger uma página com login e senha, basta colocar o seguinte código antes de tag <html> da página:
Página a ser protegida
**PHP** [/tr][tr]<?phpinclude "login2.php";
?>
[/tr]
Comentário do código
A linha 02 faz um include na pagina login2.php, que tem a função de verificar se o visitante está logado no sistema.
Postado por Jugleni Jr
Confirá outros codigos com comentarios posso a passo no site: http://www.openscritp.com.br
Comente sobre o codigo!
Discussão (6)
Carregando comentários...