Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Sistema de login simples com session e para múltiplos usuários em PHP

09-05-2015 09:26

Nesse post vou deixar um script bem simples de login onde você pode definir nas variáveis os usuários que terão acesso a determinada página do site.

A parte onde os usuários que terão acesso pode ser separada em um arquivo, tipo: usuarios.php e chamada via include nos documentos

// ESSE TRECHO ABAIXO PODE SER SEPARADO EM UM ARQUIVO E CHAMADO POR INCLUDE $usuarios = array( array("joao", "1234"), array("maria", "12345") /* último elemento sem vírgula */ ); // ESSE TRECHO ABAIXO PODE SER SEPARADO EM UM ARQUIVO E CHAMADO POR INCLUDE

Eu separei o sistema em 3 arquivos:

teste.php = formulário para logar
teste2.php = página onde é conferido se o login digitado está cadastrado ou não
teste3.php = página onde é conferido o login e libera o conteúdo para o cadastrado


Para testar o script antes de adaptar ao seu site, teste com esses nomes de arquivo acima.

teste.php

<form action="teste2.php" method="POST"> Nome: <input type="text" name="nome" value=""> <br> Senha: <input type="text" name="senha" value=""> <br> <input type="submit"> </form>

teste2.php

<?php session_start(); /* abrirmos a session */ // ESSE TRECHO ABAIXO PODE SER SEPARADO EM UM ARQUIVO E CHAMADO POR INCLUDE $usuarios = array( array("joao", "1234"), array("maria", "12345") /* último elemento sem vírgula */ ); // ESSE TRECHO ABAIXO PODE SER SEPARADO EM UM ARQUIVO E CHAMADO POR INCLUDE if(isset($_POST['nome'])!="" && isset($_POST['senha'])!="") { /* pegamos os dados do formulário */ $nome = $_POST['nome']; $senha = $_POST['senha']; $erro = 0; foreach($usuarios as $chave => $valor) { if($valor[0]==$nome && $valor[1]==$senha) { echo "logado com sucesso <a href=\"teste3.php\">acessar</a>"; $_SESSION["nome"] = $nome; $_SESSION["senha"] = $senha; $erro++; } } if($erro==0) { echo "nenhum usuário encontrado <a href=\"javascript:history.back()\">voltar</a>"; } } ?>

teste3.php

<?php session_start(); /* abrirmos a session */ if(isset($_GET['deslogar'])!="") { unset($_SESSION["nome"]); unset($_SESSION["senha"]); header("Location: teste.php"); exit; } if(isset($_SESSION["nome"])!="" && isset($_SESSION["senha"])!="") { // armazenamos os dados da session $nome_session = $_SESSION["nome"]; $senha_session = $_SESSION["senha"]; // ESSE TRECHO ABAIXO PODE SER SEPARADO EM UM ARQUIVO E CHAMADO POR INCLUDE $usuarios = array( array("joao", "1234"), array("maria", "12345") /* último elemento sem vírgula */ ); // ESSE TRECHO ABAIXO PODE SER SEPARADO EM UM ARQUIVO E CHAMADO POR INCLUDE $erro = 0; foreach($usuarios as $chave => $valor) { if($valor[0]==$nome_session && $valor[1]==$senha_session) { $erro++; ?> CONTEÚDO PARA LOGADOS <a href="teste3.php?deslogar=sim">deslogar</a> <?php } } if($erro==0) { echo "você não tem acesso para ver esse documento"; } // IF DA VERIFICAÇÃO DA SESSION } else { echo "Você não está logado <a href=\"teste.php\">Logar</a>"; } ?>

4
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado