Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nooblinux

[Resolvido] Dificuldade com SESSIONS em site php

Recommended Posts

Fala galera de boas? então.. estou tendo alguns problemas com session em um site que estou desenvolvendo, bom, a ideia e a seguinte:

são enviados alguns formularios de equipamentos, quando eles vao e voltam da empresa, o defeito, pra onde foi... como esse arquivo sera editado varias vezes, eu queria saber quem o editou. Então fiz uma conta de usario para cada um com uma senha e login, da tela de login passa por uma de validação, da validação vai para uma que contem os formularios editaveis e na outra a edição,  eu queria saber se tem como eu pegar o nome do login digitado na primeira pagina index e pegar esse dado na pagina de edição, nela teria um campo chamado "ultima edição" onde ela recebia automaticamente o valor digitado na pagina index e assim salvar.

Mas não estou conseguindo receber esse dado.

segue anexo da tela e erro que apresenta:

1 pagina - escolher arquivo editado 

 

 

image.thumb.png.3f1e615edd09b06060355cb059febdd4.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, nooblinux.

 

Se entendi bem sua dúvida consiste em:

  1. Usuário realizar login, com login e senha.
  2. Caso login com sucesso armazenar alguns dados na Sessão para serem consumidas internamente pelo sistema.

Com base no seu print, você está tentando coletar login e senha e está informando que não existem essas chaves no array.

  • Nunca armazene a senha do usuário em sessão, nem mesmo o hash. Pois abre uma vulnerabilidade gigantesca em seu sistema.
    • Essa regra vale para CPF, RG, cartão de crédito etc.

Após a ação do login com sucesso basta armazenar os dados que desejar na sessão como por exemplo o e-mail ou perfil do usuário, veja exemplo abaixo:

session_start();

$_SESSION['user'] = [
	'email' => 'email-do-usuario@teste.com.br', 
	'perfil' => 'cliente'
];

 

Com isso você pode coletar essas informações em qualquer lugar do sistema, veja exemplo abaixo:

 

<?php 

session_start();

$email  = $_SESSION['user']['email'];
$perfil = $_SESSION['user']['perfil'];

 

Com isso você consegue coletar os dados armazenados na sessão, o exemplo foi simplista, recomendo o uso de componente como zend-session, pois o mesmo contém uma camada de segurança maior, lidando com session container.

 

Espero ter lhe auxiliado.

 

Att,

Diego Brocanelli

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!
Quando você logar o seu user no sistema,  guarde a id dele na sessão.
Quando precisar usar qualquer dado daquele usuário, faça uma busca pela id,  e use o dado que quiser

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer um esquema legal aqui :

pagina de processo para o login:

<?php session_cache_expire(10); //tempo de sessão igual a 10 minutos  ?>

<?PHP
// as variáveis login e senha recebem os dados digitados na página anterior

$login  = $_POST['login'];
$senha = $_POST['senha'];
//Conexão mysql
include_once("conexao.php");

//Seleciona o banco de dados


//Comando SQL de verificação de autenticação
$sql = "SELECT *
FROM usuarios
WHERE usuario = '$login' 
AND senha = '$senha'";






$resultado = mysqli_query($conexao,$sql) or die ("Erro na seleção da tabela.");



//Caso consiga logar cria a sessão
if (mysqli_num_rows ($resultado) > 0) {
	
    session_start();
    
    echo $_SESSION['login'];
    
    
	
   header('location:inicio.php');
	
	$_SESSION['login'] = $login;
	
    
}

//Caso contrário redireciona para a página de autenticação
else {
	//Destrói
	session_destroy();

	//Limpa
	unset ($_SESSION['login']);
	unset ($_SESSION['senha']);

	//Redireciona para a página de autenticação
	header('location:index.php');
	
}


?>



Pagina de inicio: 

<?php

session_start();
	if (empty($_SESSION['login'])){
			header("Location: index.php");
			die();

    }

include ("conexao.php");
$login = $_SESSION['login'];
echo "Seja Bem Vindo ao Sistema : $login"
?>
  

Adicionando isso ao inicio de cada pagina sempre tenho a variavel $login para ser usada quando quiser;

 

Muito obrigado pela atenção de todos, abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.