Exemplo clássico de sessões :
session_start();
//tem ou não tem visitas ?
if (!isset($_SESSION['visits']))
{
//certo nao tem entao vamos passar o valor 1 para a variavel de sessão
$_SESSION['visits'] = 1;
}
else
{
//já tem então vamos incrementar em um o número de visitas
$_SESSION['visits']++;
}
//escrevendo ...
echo $_SESSION['visits'];
?>
Ângelo Rigo
Desenvolvedor Web (Porto Alegre/RS)
sábado, março 14, 2015
Sessões
Sessões permitem armazenar informações entre diferentes páginas.
Abaixo exemplo onde basicamente iniciamos, armazenamos e exibimos dados de uma sessão.
// inicia uma sessão
session_start();
// armazena dados
$_SESSION["username"] = "angelo";
$_SESSION["email"] = "a@gmail.com";
///Exibe dados
echo $_SESSION["username"].' '.$_SESSION["email"];
echo ' '.session_name();
Abaixo deletamos o valor de uma variável de sessão:
session_start();
$_SESSION["usuario"] = "angelo";
echo ' 1 '.$_SESSION["usuario"];
// deleta o valor indexado com o nome usuário
unset($_SESSION["usuario"]);
echo '
2 '.$_SESSION["usuario"];
Abaixo deletamos toda a sessão, bom para scripts de logout :
session_start();
// finaliza a sessão
session_destroy();
Verifica o tempo de sessão e finaliza apos o limite configurado:
session_start();
// configure tempo de expiração (em segundos)
$inativo = 600;
// verifique se $_SESSION["timeout"] esta configurado
if (isset($_SESSION["timeout"])) {
// calcule o tempo de vida da sessão
$sessionTTL = time() - $_SESSION["timeout"];
if ( $sessionTTL > $inativo ) {
session_destroy();
header("Location: /logout.php");
}
}
$_SESSION["timeout"] = time();
Gerando um identificador único ajuda a prevenir ataques pelo número da sessão, session_regenerate_id gera um novo número de sessão único para cada usuário qeu acessa o sistema por exemplo:
session_start();
if ($_POST["username"] == "admin" && $_POST["password"] == sha1("password")) {
$_SESSION["authorized"] = true;
session_regenerate_id();
}
Referência do link : http://www.sitepoint.com/php-sessions/
Sessões permitem armazenar informações entre diferentes páginas.
Abaixo exemplo onde basicamente iniciamos, armazenamos e exibimos dados de uma sessão.
// inicia uma sessão
session_start();
// armazena dados
$_SESSION["username"] = "angelo";
$_SESSION["email"] = "a@gmail.com";
///Exibe dados
echo $_SESSION["username"].' '.$_SESSION["email"];
echo ' '.session_name();
Abaixo deletamos o valor de uma variável de sessão:
session_start();
$_SESSION["usuario"] = "angelo";
echo ' 1 '.$_SESSION["usuario"];
// deleta o valor indexado com o nome usuário
unset($_SESSION["usuario"]);
echo '
2 '.$_SESSION["usuario"];
Abaixo deletamos toda a sessão, bom para scripts de logout :
session_start();
// finaliza a sessão
session_destroy();
Verifica o tempo de sessão e finaliza apos o limite configurado:
session_start();
// configure tempo de expiração (em segundos)
$inativo = 600;
// verifique se $_SESSION["timeout"] esta configurado
if (isset($_SESSION["timeout"])) {
// calcule o tempo de vida da sessão
$sessionTTL = time() - $_SESSION["timeout"];
if ( $sessionTTL > $inativo ) {
session_destroy();
header("Location: /logout.php");
}
}
$_SESSION["timeout"] = time();
Gerando um identificador único ajuda a prevenir ataques pelo número da sessão, session_regenerate_id gera um novo número de sessão único para cada usuário qeu acessa o sistema por exemplo:
session_start();
if ($_POST["username"] == "admin" && $_POST["password"] == sha1("password")) {
$_SESSION["authorized"] = true;
session_regenerate_id();
}
Referência do link : http://www.sitepoint.com/php-sessions/
sexta-feira, fevereiro 06, 2015
quinta-feira, agosto 15, 2013
Temas no Moodle
As versões atuais do Moodle a partir da 2.0 trouxeram novos temas muito interessantes, podemos listar alguns que apresentam boa qualidade.
Sem falar que na versão 2.6 para cima todos terão como base o tema Bootstrap projeto do Twitter e terão compatibilidade total com smartphones e tablets.
Archaius - Bonito, é possivel recolher as colunas laterais.
Clean - Simples mas bonito.
Essential - Novo tema ícones bonitos fontes e cores bonitas.
Liven - Ótimo aproveitamento do espaço.
CloudyDay - Ótimo contraste e escolha de fontes.
Newsie - Ótima formatação e distribuição do espaço.
Magazine - Ótima distribuição do espaço.
Aardvark - Remodelado com base no bootstrap
Decaf - Aproveita totalmente o espaço da tela e mantem os menus de administração no topo ocupando o mínimo possível de espaço.
Moodle2mobile - Funciona bem em smartphones e tablets.
Nimble - Aproveitamento do espaço
Também gosto do Arialist, Boxxie, Brick, Formfactor, Fusion, Leatherbound, Serenity, Nonzero, Overlay mas não são meus preferidos.
Existem diversos temas mas, IMHO se ficarmos com estes já estamos bem servidos. Não querendo ser injusto com nenhum outro tema.
Caso seja desenvolvedor e desejar utilizar um tema existente para montar outro, eu apostaria nesta lista acima.
Até a próxima.
As versões atuais do Moodle a partir da 2.0 trouxeram novos temas muito interessantes, podemos listar alguns que apresentam boa qualidade.
Sem falar que na versão 2.6 para cima todos terão como base o tema Bootstrap projeto do Twitter e terão compatibilidade total com smartphones e tablets.
Archaius - Bonito, é possivel recolher as colunas laterais.
Clean - Simples mas bonito.
Essential - Novo tema ícones bonitos fontes e cores bonitas.
Liven - Ótimo aproveitamento do espaço.
CloudyDay - Ótimo contraste e escolha de fontes.
Newsie - Ótima formatação e distribuição do espaço.
Magazine - Ótima distribuição do espaço.
Aardvark - Remodelado com base no bootstrap
Decaf - Aproveita totalmente o espaço da tela e mantem os menus de administração no topo ocupando o mínimo possível de espaço.
Moodle2mobile - Funciona bem em smartphones e tablets.
Nimble - Aproveitamento do espaço
Também gosto do Arialist, Boxxie, Brick, Formfactor, Fusion, Leatherbound, Serenity, Nonzero, Overlay mas não são meus preferidos.
Existem diversos temas mas, IMHO se ficarmos com estes já estamos bem servidos. Não querendo ser injusto com nenhum outro tema.
Caso seja desenvolvedor e desejar utilizar um tema existente para montar outro, eu apostaria nesta lista acima.
Até a próxima.
terça-feira, fevereiro 26, 2013
Algoritmo "Matriz"
VAR
VALORES : VETOR [1..2, 1..2] DE REAL
somaLinha3, somaColuna2, somaDiagPrinc, somaDiagsecu, somaTudo: REAL
i, j: INTEIRO //os índice sempre inteiro
inicio
somaLinha3 <- 0="" p="">somaColuna2 <- 0="" p="">somaTudo <- 0="" p="">
Para i de 1 ate 2 faca
Para j de 1 ate 2 faca
Escreva("Digite um valor para a matriz: ")
Leia (VALORES[i,j])
somaTudo <- i="" j="" p="" somatudo="" valores=""> fimpara
fimpara
Para i de 1 ate 2 faca
para j de 1 ate 2 faca
escreval (VALORES[i,j])
fimpara
fimpara
escreval ("Soma de todos os elementos é ", somaTudo)
fimalgoritmo
->->->->
Bidimensionais
Algoritmo "Matriz"
var
valores : VETOR [1..3,1..3] DE REAL
somaLinha3, somaColuna2, somaDiagPrinc, somaDiagsecu, somaTudo: REAL
i, j: INTEIRO //os índice sempre inteiro
inicio
somaLinha3 <- 0="" p="">somaColuna2 <- 0="" p="">somaDiagPrinc <- 0="" p="">somaDiagsecu <- 0="" p="">somaTudo <- 0="" p="">Para i de 1 ate 3 faca
Para j de 1 ate 3 faca
Escreva("Digite um valor para a matriz")
Leia (VALORES[i,j])
somaTudo <- i="" j="" p="" somatudo="" valores="">se i=3 entao
somaLinha3 <- i="" j="" p="" somalinha3="" valores="">fimse
se j=2 entao
somaColuna2 <- i="" j="" p="" somacoluna2="" valores="">fimse
se i=j entao
somaDiagPrinc <- i="" j="" p="" somadiagprinc="" valores="">fimse
se j=4-i entao
somaDiagsecu <- i="" j="" p="" somadiagsecu="" valores="">fimse
fimpara
fimpara
Para i de 1 ate 3 faca
para j de 1 ate 3 faca
escreval (VALORES[i,j])
fimpara
fimpara
escreval ("Soma de todos os elementos é ", somaTudo)
escreval ("Soma dos elementos da linha 3 é ", somaLinha3)
escreval ("Soma dos elementos da coluna 2 é ", somaColuna2)
escreval ("Soma dos elementos da diagonal principal é ",somaDiagPrinc)
escreval ("Soma dos elementos da diagonal secundária é ",somaDiagsecu)
fimalgoritmo
->->->->->->->->->->
algoritmo "semnome"
var
j.k.vb:inteiro
v: vetor[1..10] de inteiro
achou : logico
procedimento preenchevetor
var j : inteiro
inicio
para j de 1 ate 10 faca
v[j] <- p="" randi="">escreva(j:5, v[j]:5)
fimpara
fimprocedimento
inicio
preenchevetor
escreva("Entre com o valor da busca (esc termina):")
leia(vb)
j<-1 p="">repita
se v[j] = vb entao
achou <- p="" verdadeiro="">senao
J<-j p="">fimse
ate (achou = verdadeiro) ou (j<10 p="">se achou entao
escreval("Achei",vb,"na posicao ",j)
seano
escreval("nao achei")
fimse
fimalgoritmo
10>-j>->-1>->
var
j.k.vb:inteiro
v: vetor[1..10] de inteiro
achou : logico
procedimento preenchevetor
var j : inteiro
inicio
para j de 1 ate 10 faca
v[j] <- p="" randi="">escreva(j:5, v[j]:5)
fimpara
fimprocedimento
inicio
preenchevetor
escreva("Entre com o valor da busca (esc termina):")
leia(vb)
j<-1 p="">repita
se v[j] = vb entao
achou <- p="" verdadeiro="">senao
J<-j p="">fimse
ate (achou = verdadeiro) ou (j<10 p="">se achou entao
escreval("Achei",vb,"na posicao ",j)
seano
escreval("nao achei")
fimse
fimalgoritmo
10>-j>->-1>->
segunda-feira, fevereiro 25, 2013
Exemplo de leitura do teclado em java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Teclado {
Integer id;
String nome;
Integer idade;
public static void main(String[] args) {
leituraTeclado();
}
@Override
public String toString() {
return "Você digitou : " +
"id = " + id +
", Nome = '" + nome + '\'';
}
private static void leituraTeclado() {
Scanner scanner = new Scanner(System.in);
Teclado t = new Teclado();
System.out.print("Digite sua identificação: ");
t.id = scanner.nextInt();
System.out.print("Nome: ");
t.nome = scanner.next();
//System.out.print("Idade: ");
//t.idade = Integer.parseInt(scanner.nextLine());
System.out.println(t.toString());
}
}
domingo, fevereiro 24, 2013
Aula 25/02/2013
Exemplo vetores e utilização do for
$nome = array('Orlando','Heitor','Paulo','Jandir');
for($i=0;$i<4 i="" p=""> echo $i;
echo " nome : ".$nome[$i]
}
4>
Assinar:
Postagens (Atom)