Olá! Monday, 18 de December de 2017.



Dicas CódigoFonte.net
Saturday, 05 de February de 2005

Veja como usar SESSIONS no PHP

Por Clenisson Calaça.

Olá. Esta é minha segunda matéria. Nela, vou falar sobre o uso de sessions no PHP, que muita gente ainda tem dúvidas.
Mas, para começar: 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.
Feita a nossa “introdução”, vamos aos exemplos:
Para iniciarmos uma session, usamos a função session_start().
Para um bom 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. É também recomendável usar um nome para identificar a session. No exemplo abaixo, usarei materia como nome:

  1. <?php
  2. session_start("materia");
  3. ?>


Agora, vamos definir as variáveis de uma sessão. Essas devem estar sempre abaixo de session_start(). A sintaxe para definir é $_SESSION["variavel"], seria uma espécie de $_COOKIE["variavel"], usada nos cookies.

  1. <?php
  2. session_start("materia");
  3. $_SESSION["nome"] = "Uso de sessions no PHP";
  4. $_SESSION["lendo"] = "sim";
  5. ?>


Até aqui, vamos supor que as sessions identificaram o nome do artigo e que você está lendo ele. Seguindo o exemplo, vamos verificar se você está mesmo lendo:

  1. <?php
  2. session_start("materia"); //sempre session_start antes de usar sessions
  3. if($_SESSION["lendo"]!=="sim"){
  4. //se $_SESSION["lendo"] não for "sim", a mensagem abaixo é exibida.
  5. echo "Você não está lendo o artigo!";
  6. }
  7. else{
  8. //caso contrário, a mensagem abaixo é exibida.
  9. echo "Você está lendo o artigo ".$_SESSION["nome"]." Obrigado!";
  10. }
  11. ?>


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

  1. <?php
  2. session_start("materia");
  3. echo "Sessão destruída!";
  4. ?>


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

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


Bem, vou ficando por aqui. Espero ter ajudado.

Comentários do artigo [Novo comentário]

kicko nightmare - 21 de September de 2009 - 11:33
Clenisson, simplesmente está de parabéns! Gosto de tutoriais que explicam tudo, desde como funciona até fazê-lo funcionar, pois pra quem não entendia muito de sessions como eu, eliminei boa parte de meus erros com session...

Mas ainda tenho dúvidas, pois eu estou desenvolvendo um site com iframes, e includes dentro de meu script...

fiz uma página que registra a session e faz pega os dados do seu login no site, mas não aparecem nos frames, que inclusive estão com o include da página que le os dados do login...

é isso, vou continuar tentando, se eu resolver eu posto o erro aqui...

[]s
Eliel Duarte - 09 de June de 2011 - 12:13
Cara fiz o cadastro agora neste site, e quero agradecer muito o Clenisson Calaça pelo artigo maravilhoso, me ajudou muito, espera estar aqui sempre que precisar e também estou disponivel a ajudar.
Antonio da Silva - 09 de October de 2011 - 08:56
Muito bom esse tutorial, ajudou bastante mesmo, explicado nos minimos detalhes. parabéns pelo artigo. vlw
Matheus Henrique de Freitas - 12 de April de 2012 - 22:54
É ótimo artigo, concertesa vai ajudar muita gente.
Parabéns.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010