|
|
|
|
|
| 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) |
|
|
|
|
|
|
 |