Ir para conteúdo

POWERED BY:

Arquivado

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

(RNU) Ruan Silva

Sessions

Recommended Posts

Boa tarde/noite... Estou com algumas dúvidas sobre o uso de sessions... 1 - Quando definimos um tempo limite de uso para sessions, caso o navegador seja fechado, esse tempo continuará valendo?? 2 - Quando eu não quero que um usuário não autorizado acessse uma determinadad página, o seguinte comando é suficiente?

<?php session_start();
if(!isset($_SESSION['usuario'])== true and !isset($_SESSION['senha'])==true){
	header('location: login.php');
}
3 - É necessário dar session_start(); em todas as páginas que vou utiliza-las... e no caso de includes em uma página? Ex: na minha página index.php eu incluo topo.html e submenu.php... é necessário utilizar:

<?php session_start();
if(!isset($_SESSION['usuario'])== true and !isset($_SESSION['senha'])==true){
	header('location: login.php');
}
ou posso simplesmente fazer a verificação sem o session_start();?

<?
if(!isset($_SESSION['usuario'])== true and !isset($_SESSION['senha'])==true){
	header('location: login.php');
}
Essa terceira pergunta estou fazendo pois tinha colocado a verificação dentro dos arquivos que inclui no index, ai ele retonar um aviso: "Notice: A session had already been started - ignoring session_start()", mas para evitar que um usuário digitasse o endereço deste conteúdo pela url, eu coloquei a verificação sem o sesssion_start(); Agradeço as dicas :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Se o navegador for fechado a sessão será expirada imediatamente.

2 - Sim, apenas ressaltando que o == true é desnecessário;

3 - Você precisa do session_start() em todas as páginas onde for manipular sessões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 - Você precisa do session_start() em todas as páginas onde for manipular sessões.

No caso dos includes que eu citei... é necessário incluir neles também? como eu disse, minha index inclui um arquivo topo e um arquivo menu.php. Preciso do session_start() neles? eu tinha colocado, mas depois de testar em outro servidor, ele exibiu a mensagem de erro que eu citei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa colocar em todos, apenas em um deles a sessão deverá ser iniciada, este arquivo deverá ser o que ficar mais no topo, já que por padrão sessões não podem ser iniciadas se algum dado já tiver sido enviado ao navegador.

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.