PROBLEMA COM SISTEMA DE LOGIN

19/08/2014

0

PHP

eu tenho um sistema de login um em determinado site, mas meu plano é o seguinte! quero colocar uma div para aparecer para quando a pessoa entrar no site e não estiver logada no mesmo aparecer o formulário de login! e logo após ela fazer o login quero que o mesmo formulário seja substituído por uma div de boas vindas, ou algo do tipo!

DIV 1
<form method="post" action="valida.php">
<h1>LOGIN</h1>

<label>Usuário</label>
<br />
<input type="text" name="usuario" maxlength="50" />
<br />
<label>Senha</label>
<br />
<input type="password" name="senha" maxlength="50" />
<br>
<input type="submit" value="Entrar" />
</form>


DIV 2
<?php
echo "olá $user_name ";
?>


é mais ou menos isso que eu quero fazer, tem como?
Cleyton Caetano

Cleyton Caetano

Responder

Posts

19/08/2014

Ronaldo Lanhellas

Você pode fazer isso em PHP mesmo, veja:

<?php if (!isset($usuario_logado)){ ?>
<form method="post" action="valida.php">
<h1>LOGIN</h1>
 
<label>Usuário</label>
<br />
<input type="text" name="usuario" maxlength="50" />
<br />
<label>Senha</label>
<br />
<input type="password" name="senha" maxlength="50" />
<br>
<input type="submit" value="Entrar" />
</form>
<?php }else{ 
       echo "olá $user_name ";
} ?>
Responder

19/08/2014

Cleyton Caetano

Você pode fazer isso em PHP mesmo, veja:

<?php if (!isset($usuario_logado)){ ?>
<form method="post" action="valida.php">
<h1>LOGIN</h1>
 
<label>Usuário</label>
<br />
<input type="text" name="usuario" maxlength="50" />
<br />
<label>Senha</label>
<br />
<input type="password" name="senha" maxlength="50" />
<br>
<input type="submit" value="Entrar" />
</form>
<?php }else{ 
       echo "olá $user_name ";
} ?>


é isso mesmo que eu quero fazer, você entendeu direitinho, só que quando executei seu código deu certo não, ele só apareceu o login normal, fiz o login e depois ele não apareceu a mensagem de olá!

<?php if (!isset($usuario_logado)){ ?>
<form method="post" action="valida.php">
<label>Usuário</label>
<input type="text" name="usuario" maxlength="50" />
<label>Senha</label>
<input type="password" name="senha" maxlength="50" />
<input type="submit" value="Entrar" />
</form>
<?php }else{
       echo "Olá, " . $_SESSION['usuarioNome'];
} ?>
Responder

19/08/2014

Ronaldo Lanhellas

O meu código

if (!isset($usuario_logado)){


foi apenas um exemplo, você tem que colocar ai uma condição que cheque se o usuário está ou não logado.
Responder

19/08/2014

Cleyton Caetano

O meu código

if (!isset($usuario_logado)){


foi apenas um exemplo, você tem que colocar ai uma condição que cheque se o usuário está ou não logado.

entendo, mais como eu crio essa condição?


valida.php
<?php
// Inclui o arquivo com o sistema de segurança
include("seguranca.php");

// Verifica se um formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Salva duas variáveis com o que foi digitado no formulário
// Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido
$usuario = (isset($_POST['usuario'])) ? $_POST['usuario'] : '';
$senha = (isset($_POST['senha'])) ? $_POST['senha'] : '';

// Utiliza uma função criada no seguranca.php pra validar os dados digitados
if (validaUsuario($usuario, $senha) == true) {
// O usuário e a senha digitados foram validados, manda pra página interna
header("Location: index.php");
} else {
// O usuário e/ou a senha são inválidos, manda de volta pro form de login
// Para alterar o endereço da página de login, verifique o arquivo seguranca.php
expulsaVisitante();
}
}
?>


seguranca.php
<?php
ini_set('display_errors', 0 );
error_reporting(0);
?>
<?php
/**
* Sistema de segurança com acesso restrito
*
* Usado para restringir o acesso de certas páginas do seu site
*
* @author Thiago Belem <contato@thiagobelem.net>
* @link http://thiagobelem.net/
*
* @version 1.0
* @package SistemaSeguranca
*/

//  Configurações do Script
// ==============================
$_SG['conectaServidor'] = true;    // Abre uma conexão com o servidor MySQL?
$_SG['abreSessao'] = true;         // Inicia a sessão com um session_start()?

$_SG['caseSensitive'] = false;     // Usar case-sensitive? Onde 'thiago' é diferente de 'THIAGO'

$_SG['validaSempre'] = true;       // Deseja validar o usuário e a senha a cada carregamento de página?
// Evita que, ao mudar os dados do usuário no banco de dado o mesmo contiue logado.

$_SG['servidor'] = 'localhost';    // Servidor MySQL
$_SG['usuario'] = 'root';          // Usuário MySQL
$_SG['senha'] = '';                // Senha MySQL
$_SG['banco'] = 'login';            // Banco de dados MySQL

$_SG['paginaLogin'] = 'login.php'; // Página de login

$_SG['tabela'] = 'usuarios';       // Nome da tabela onde os usuários são salvos
// ==============================

// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================

// Verifica se precisa fazer a conexão com o MySQL
if ($_SG['conectaServidor'] == true) {
$_SG['link'] = mysql_connect($_SG['servidor'], $_SG['usuario'], $_SG['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
}

// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true) {
session_start();
}

/**
* Função que valida um usuário e senha
*
* @param string $usuario - O usuário a ser validado
* @param string $senha - A senha a ser validada
*
* @return bool - Se o usuário foi validado ou não (true/false)
*/
function validaUsuario($usuario, $senha) {
global $_SG;

$cS = ($_SG['caseSensitive']) ? 'BINARY' : '';

// Usa a função addslashes para escapar as aspas
$nusuario = addslashes($usuario);
$nsenha = addslashes($senha);

// Monta uma consulta SQL (query) para procurar um usuário
$sql = "SELECT `id`, `nome` FROM `".$_SG['tabela']."` WHERE ".$cS." `usuario` = '".$nusuario."' AND ".$cS." `senha` = '".$nsenha."' LIMIT 1";
$query = mysql_query($sql);
$resultado = mysql_fetch_assoc($query);

// Verifica se encontrou algum registro
if (empty($resultado)) {
// Nenhum registro foi encontrado => o usuário é inválido
return false;

} else {
// O registro foi encontrado => o usuário é valido

// Definimos dois valores na sessão com os dados do usuário
$_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'id do registro encontrado no MySQL
$_SESSION['usuarioNome'] = $resultado['nome']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL

// Verifica a opção se sempre validar o login
if ($_SG['validaSempre'] == true) {
// Definimos dois valores na sessão com os dados do login
$_SESSION['usuarioLogin'] = $usuario;
$_SESSION['usuarioSenha'] = $senha;
}

return true;
}
}

/**
* Função que protege uma página
*/
function protegePagina() {
global $_SG;

if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
// Não há usuário logado, manda pra página de login
expulsaVisitante();
} else if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
// Há usuário logado, verifica se precisa validar o login novamente
if ($_SG['validaSempre'] == true) {
// Verifica se os dados salvos na sessão batem com os dados do banco de dados
if (!validaUsuario($_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'])) {
// Os dados não batem, manda pra tela de login
expulsaVisitante();
}
}
}
}

/**
* Função para expulsar um visitante
*/
function expulsaVisitante() {
global $_SG;

// Remove as variáveis da sessão (caso elas existam)
unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha']);

// Manda pra tela de login
header("Location: ".$_SG['paginaLogin']);
}
?>
Responder

19/08/2014

Ronaldo Lanhellas

Você pode usar o seu $_SESSION. Grava o usuário logado no $_SESSION['usuarioID'] e depois checa se o $_SESSION['usuarioID'] existe.
Responder

19/08/2014

Cleyton Caetano

Você pode usar o seu $_SESSION. Grava o usuário logado no $_SESSION['usuarioID'] e depois checa se o $_SESSION['usuarioID'] existe.

agora eu consegui! vlw mesmo cara, você é demais! deu certo!
Responder

19/08/2014

Ronaldo Lanhellas

Você pode usar o seu $_SESSION. Grava o usuário logado no $_SESSION['usuarioID'] e depois checa se o $_SESSION['usuarioID'] existe.

agora eu consegui! vlw mesmo cara, você é demais! deu certo!


Que bom que deu certo, até mais !
Responder

19/08/2014

Cleyton Caetano

Você pode usar o seu $_SESSION. Grava o usuário logado no $_SESSION['usuarioID'] e depois checa se o $_SESSION['usuarioID'] existe.

agora eu consegui! vlw mesmo cara, você é demais! deu certo!


Que bom que deu certo, até mais !

até, mas como eu coloco que o tópico foi resolvido? kk
Responder

19/08/2014

Ronaldo Lanhellas

Você pode usar o seu $_SESSION. Grava o usuário logado no $_SESSION['usuarioID'] e depois checa se o $_SESSION['usuarioID'] existe.

agora eu consegui! vlw mesmo cara, você é demais! deu certo!


Que bom que deu certo, até mais !

até, mas como eu coloco que o tópico foi resolvido? kk


Creio que apenas os Administradores possam, só pedir que eles colocam.
Responder

19/08/2014

Cleyton Caetano

Ok, então ta blz!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar