Terça-Feira, 07 de Setembro de 2010

  Procurar por: Em:  

Confira nossas seções disponíveis!

 

 
 
 
 
 
 
 
 
 
 


Uso de sessions no PHP

Enviado por Clenisson Calaça,
em 03/10/05 às 15:51
Um básico artigo, feito por mim e falando sobre o uso de sessions no PHP

3499 cliques.


Autoria de Clenisson Calaça.

Neste artigo, vou falar sobre o uso de sessions no PHP, que muita gente ainda tem dúvidas.

Mas, para começar, alguns resumos: O que são sessions? Sessions são arquivos temporários que guardam informações no servidor. Para que servem? Tem a mesma funcionalidade do famoso COOKIE, mas a vantagem é que o computador do cliente não precisa estar habilitado para usá-la. Ao mesmo tempo, sessions também não permitem os famosos “Lembrar minha senha”, “Lembrar meu login”, "Lembrar isso e aquilo outro...", "Não exibir novamente", etc.

Para iniciarmos uma session, usamos a função session_start().
Para seu funcionamento, ela não pode estar depois de nenhum OUTPUT de dados (echo, print, códigos HTML, etc.). É recomendável que esteja na primeira linha do código.

Feita a nossa “introdução”, mãos a obra! Vamos iniciar uma session?

<?php
session_start();
?>


Agora, vamos definir as variáveis de uma sessão. Essas devem estar sempre abaixo de session_start(). Para fazer isso, vamos utilizar o comando $_SESSION. Ele te lembra algo? $_GET? $_POST? $_COOKIE? Pois é! Não tem erro, a sintaxe é a mesma. $_SESSION["variavel"] é uma variável de sessão, bem como $_COOKIE["variavel"] é uma variável de cookie, e assim por diante. No caso das sessions, você mesmo atribui um valor a ela, já que ela não vem através de um formulário ou de uma QUERY STRING, como é o caso do $_POST e do $_GET, respectivamente.

Abaixo, vamos dizer que você está neste site, lendo este artigo. A variável "site" definirá o site (PONTO PHP), assim como "artigo" definirá o título do artigo que você está lendo (Uso de SESSIONS no PHP):

<?php
session_start(); //inicia a sessão
$_SESSION["site"] = "PONTO PHP - www.pontophp.com";
$_SESSION["artigo"] = "Uso de sessions no PHP"; //título do artigo
$_SESSION["lendo"] = "sim, estou lendo o artigo!";
?>


Seguindo o exemplo, vamos verificar se você está mesmo lendo:

<?php
session_start(); //sempre session_start na página que quer utilizar sessions
if($_SESSION["lendo"]!=="sim, estou lendo o artigo"){
//se $_SESSION["lendo"] não for "sim, estou lendo o artigo", a mensagem abaixo é exibida.
echo "Você não está lendo o artigo!";
}
else{
//caso contrário, a mensagem abaixo é exibida.
echo "Você está lendo o artigo ".$_SESSION["artigo"]." Obrigado!";
}
?>


Uma session sempre permanecerá ativa enquanto o usuário estiver navegando. Ela é automaticamente destruída quando o mesmo fecha o browser. Mas há um jeito de eu mesmo destruir a session? Há sim! Usando um sistema de autenticação, seria uma espécie de "logoff". Para isso, use a função session_destroy(), que deve estar depois de session_start().

<?php
session_start();
session_destroy();
echo "Sessão destruída!";
?>


Há também uma forma de deixar so uma variavel em branco, usando a função unset().

<?php
session_start();
unset($_SESSION["lendo"]);
//isto apagará apenas a variavél "lendo" da session ativa. As outras permanecem.
?>


Bem, vou ficando por aqui. Mais sobre as funções citadas:
http://br.php.net/session_start
http://br.php.net/session_destroy
http://br.php.net/unset

Mais sobre SESSIONS em geral:
http://br.php.net/session

Espero ter ajudado. Dúvidas? Coloque um comentário!

OBS: Para ativar sessions no seu PHP, abra o php.ini e procure pela linha "session.save_path". Se a mesma estiver comentada (com ; na frente), retire o ponto-e-vírgula. Defina um diretório para gravar as sessions.

Comentar - Ver comentários (0)

Usuário:  
Senha:  

Esqueci a senha.
Quero me cadastrar.

Melhor visualizado no Internet Explorer.
© 2005-2008 Ponto PHP - Programado e Mantido por Clenisson Calaça.
Design by
Agência Blá. Hospedado por MR Media.
Sugestões, reclamações, erros ou dúvidas sobre o site: contato@pontophp.com.