Aplicativos em PHP/Trabalhando em PHP com/Session
11.5 - Trabalhando com Session em PHP
Crie um pequeno aplicativo com os seguintes arquivos. Copie os arquivos para um diretório no seu servidor web e chame o index pelo browser:
index.php
<? ''session_start();'' ?> <center><h1>Trabalhando com SESSION em PHP</h1> Podemos preservar valores de variáveis enquanto durar uma sessão do browser através do uso de SESSION.<br> Para isso devemos startar a sessão em cada página que desejamos usar esta variável com<br> <br> sesssion_start();<br><br> Lembrando que esta função deve vir antes de qualquer comando que mande algo para a tela, caso <br> o session esteja configurado para usar cookie.<br> Na primeira página deve ter um formulário com algum campo que devemos usar no session.<br> Experimente gravar a URL de uma das páginas internas e acessar diretamente (http://localhost/session3) <br>Primeiro feche todas as seções do browser e depois abra o browser com essa URL.<br> <br> Veja que SESSION é muito bom para preservar o valor de variáveis entre páginas de um site numa seção. <br> Portanto seu uso é muito útil quando pretendemos autenticas os visitantes de todas as as páginas de um site.<BR> Como também para outros usos em que pretendemos reaproveitar o valor de variáveis (algo como global).<BR> Acompanhe este exemplo para ver detalhes.<br><br><br> <form method=post action=session2.php> Login<input type=text size=8 name=login><br> <input type=submit value=Enviar> </form></center>
destruir.php
<?
session_start();
if (isset($_SESSION['login'])){
session_unset(); // Eliminar todas as variáveis da sessão
session_destroy(); // Destruir a sessão
echo "Entre. Sessão Destruida. <a href=session3.php>Session3</a><br>";
} else {
echo "Acesso não autenticado!";
}
?>
session2.php
<?
session_start();
$_SESSION['login']=$_POST['login'];
if (isset($_SESSION['login'])){
echo "Entre. Session2. <a href=session3.php>Session3</a>";
} else {
echo "Acesso não autenticado!";
}
?>
session3.php
<?
session_start();
if (isset($_SESSION['login'])){
echo "Entre. Session3. <a href=session4.php>Session4</a><br>";
echo "<a href=destruir.php>Drestruir Sessão</a>";
} else {
echo "Acesso não autenticado!";
}
?>
session4.php
<?
session_start();
if (isset($_SESSION['login'])){
echo "Entre. Session4. <a href=session5.php>Session5</a>";
} else {
echo "Acesso não autenticado!";
}
?>
session5.php
<?
session_start();
if (isset($_SESSION['login'])){
echo "Entre. Session5. <a href=index.php>Index</a><br><br>";
echo "Informações: <br>ID da Sessão: <b>" . session_id() .
"</b><br>Variável mantida pela SuperGlobal \$_SESSION: <b>" . $_SESSION['login'];
} else {
echo "Acesso não autenticado!";
}
?>
Como as variaveis ficam fixas em todas as páginas de um site.Um exemplo: Quando você faz login em um site ao qual tem um cadastro.E seu nome de login fica lá em cima em todas as páginas referente a sua conta.Essas variaveis que "vivem" em todo o site são chamadas "variaveis de sessão($_SESSION).
Para cria-las é muito simples:
primeiro devemos começar sempre antes de qualquer tag HTML ou escapamento do comando echo("");
ficaria assim um exemplo:
<?php
session_start(); // sempre chamamos a sessão dessa forma
$login="cloud"; // passamos um valor qualquer a variavel $login "ainda não é a sessao"
$_SESSION['login']=$login;
?>
agora sim,criamos uma variavel session que tem o nome login(....['login']) e ela possue agora um valor que é da variavel $login(essa variavel $login não precissa necessariamente ter um valor fixo,ela pode vir de um form entenderam?
quando quisermos mostrar ou usar o valor da variavel $login em outra pagina,ja podemos pois agora ela esta dentro de uma session um exemplo de como chama-la em outra pagina(arquivo)
<?php
session_start(); // sempre que usarmos as sessions devemos chamar esse codigo sempre no inicio do script
if(isset($_SESSION['login'])){// verifica se existe a varavel session
$login=$_SESSION['login']; // passa o valor da variavel session para outra variavel so que uma variavel dentro do mesmo arquivo
echo($login);// cloud
}else{
echo("vc nao passou pelo arquivo anterior");
}
Capítulo sobre Session na Documentação Oficial do PHP
http://www.php.net/manual/pt_BR/ref.session.php
Artigos Sobre Session em PHP
http://www.revistaphp.com.br/print.php?id=79
http://www.scriptbrasil.com.br/forum/lofiversion/index.php/t79221.html
http://www.htmlstaff.org/ver.php?id=5353
http://maozinhadaweb.blogspot.com/2007/05/tutorial-de-php-parte-3-sesses-e.html
http://www.devshed.com/c/a/PHP/Sessions-and-Cookies/
===================UTILIZANDO SESSION EM VISUAIS ALTERNATIVOS DE SITE===========
Uma boa pedida para trabalhar com SESSION, seria a possibilidade de mudar o visual do site.
exemplo:default.css,green.css
página de escolha de visual do site:
if(isset($_GET['css'])){
$_SESSION['css']=$_GET['css'];
}else{
echo "<form><select name='css'>
<Option>default</option>
<Option>green</option></select></form>";
}
- No import do css, utilize ao invés do nome do arquivo a variável $_SESSION['css'].
- PS: Não esquecer de fazer antes do import:
if(empty($_SESSION['css'])){$_SESSION['css']="default";}