Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marina limeira

qual o melhor p/ trabalhar com variaveis entre paginas ASP

Recommended Posts

o visitante preenche o formulario no campo NOME.....

 

 

processa uma pagina ASP que puxo via request.form e atribuo a uma variavel.

 

Ok,

 

agora como armazenar para usar ainda esta informacao na hora de preparar um email via HTML montando o HTML via variaveis que veio do ASP.

 

melhor via cookies ou session ???

 

alguem tem alguns exemplos simples e que realmente garante o funcionamento? pois busquei e testei o q achei na net e nao tive sucesso

 

obrigada pelas ajudas

 

Marina

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem um nem outro garante pois depende das configurações de segurança dos usuarios

 

se voce gravar num db estes dados seriam mais garantido

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim Mario

 

o banco de dados estou estudando junto com a ajuda de muitos neste forum...

 

mas por enquanto nao termino..

 

gostaria de implementar testes o mais seguro possivel, mesmo sabendo de algumas limitacoes dos usuarios

 

mas como e quando funciona o

session

e

cookies

 

no trabalho com variaveis

 

grata

 

Marina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o usuarios desabilitar os cookies nao funciona nem uma nem outra opção

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao precisa nao

 

precisa de permissao de escrita no servidor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe Mario mas vou descordar um pouco de você.

Mariana, creio que neste caso o melhor será você trabalhar com Session, mas explico a minha visão, não sou especialista, mas se você usar Cookies e o usuário realmente estiver com Cookies desativos então não vai adiantar nada, agora se você precisa utilizar estas informações para algum propóstio futuro realmente não tem outra alternativa a não ser os bancos de dados, agora se estas informações passadas pelo usuário você só vai utilza-las por um determinado momento em outras páginas você pode utilizar as Session, é neste ponto que descordo do Mário, pois a Session tem um tempo padrão de 20 minutos antes de se expirar, ou seja, se o usuário ficar inativo (sem enviar informações ao server) por mais de 20 minutos a session expira e as informações armazenadas são perdidas, esse tempo pode ser alterado (Session.TimeOut = tempo_em_minutos).

 

Lembrando que se você alterar este tempo para 50 minutos por exemplo, e o usuário abrir uma janela e ficar somente 10 minutos e fechar, a Session só vai ser destruída no servidor após os 50 minutos ou seja, se o usuário se logar e deslogar 5 vezes seguidas, você vai ter 5 sessions travadas no servidor, comentei isto só por uma questão de performance dependendo do tamanho do sistema.

 

Uma dica também é se você não vai mais utilizar as informações gravadas na session, destrua elas manualmente com os comandos, Session.Contents.Remove("nomedasession") ou Session.RemoveAll() (neste caso remove todas), e use Session.Abandon para encessar a Sessão do usuário.

 

Qualquer dúvida ou crítica estamos ai.

 

Abraços

 

Estevam

Compartilhar este post


Link para o post
Compartilhar em outros sites

adorei seu detalhadamento estevam

 

entao é gravado no servidor as variavies.. nao sabia.. legal

 

tentei de uma pagina ASP com algumas variaveis

passar pra outra e nao foi..

 

tentei ate na mesma pagina montar e nada

 

e mandando um email com corpo montado de um arquivo ASP abaixo

<b>Ola<%session("nome")%>, bem-vindo

 

 

e nada

 

o q to fazendo de errado ou como funciona? :blink:

 

marina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mariana funciona mais ou menos assim:

 

<%

Session("nome") = "Estevam"

Response.Write(Session("nome"))

%>

 

Mais detalhes se caso queira consultar:

www.w3schools.com

 

Ou qualquer coisa manda no fórum

 

Abraços

 

Estevam

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou tentar

 

mudei o conteudo dde uma variavel e ainda mostrou o antigo.. deve ser q nao findou os 20 minutos ne?

 

cada usuario vai ter seu conteudo especifico ne?

 

obrigada

 

marina

 

 

acabei de testar

 

na mesma pagina funcionou como disse

 

mas entre paginas nao funcionou

 

no corpo do email nao apareceu nada na mensagem no local da variavel de sessao

 

sera que funciona mesmo mesmo pra montar o email?

 

marina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estevam, o que o Mario disse está correto.

 

Se o navegador estiver com a opção cookies desabilitado, tanto cookies como session não funcionam, por isso a sugestão de trabalhar com banco de dados.

 

Uma saída seria verificar se o cookie está desabilitado e avisar ao usuário para habilitar. Mas também prefiro trabalhar com session e cookies do que gravar essas informações no banco de dados. Para o caso citado, utilizaria session.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mariana teste novamente pois funciona sim, em uma pagina voce poe assim:

 

<%
'pagina1.asp
Session("nome") = "Estevam"
Response.Redirect("pagina2.asp")
%>

Depois em outra pagina:

 

<%
'pagina2.asp
Response.Write("Antes: " & Session("nome"))
Session("nome") = "alterando nome"
Response.Write("Depois: " & Session("nome"))
%>

 

Hargon e Mário, desculpem mas se possível poderiam me passar os testes que vocês realizaram, pois pelos testes que fiz aqui, mesmo eu bloqueando todos os cookies, as Session de ASP funcionam normalmente, o que considero correto, já que pela lógica a Session é armazenada no server, mas posso claro estar errado.

 

Abraços

 

Estevam

Compartilhar este post


Link para o post
Compartilhar em outros sites

O servidor identifica os "donos" de cada sessions atravez de cookies (cookies por sessão que são descartados assim que se fecha o navegador), portanto precisam estar ativados para funcionar.

 

Estevam, o que acontece é que testando localmente (IIS 5.1 XP Pro) muitas vezes o server identifica o usuário por outros meios (id da rede... sei lá) mas em produção, na internet. precisa aceitar os cookies para identificar a sessão.

 

Marina, na minha opinião, dou preferência aos cookies a não ser que os dados sejam sensíveis. As sessions ficam armazenadas no servidor, os cookies nos clientes. Em casos de grande tráfego as sessions podem gerar sobrecarga. Mesmo que o usuário feche a página elas ocupam a memória do servidor por pelos menos 20 minutos (por padrão) até expirar. Usando cookies os recursos do servidor só são utilizados durante o processamento no script.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peço desculpas a todos quanto a informação passada sobre sessions, realmente o pessoal tem razão as Sessions necessitam que os cookies estejam ativados, vivendo e aprendendo como sempre. Obrigado pessoal

 

Abraços

 

Estevam

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa muito rico este aprendizado né Estevam?

 

legal mesmo...

 

entao .. envao vamos la.. qual exemplo de rotina pra verificar se o cookies do cliente esta habilitado e ifnormar a ele habilitar?

assim aproveitamos o exemplo do Estevam

 

 

bjos

 

Marina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo simples com session...

session("ativo") = true
if not session("ativo") then
	response.write "Mensagem informando para o usuário que o cookie deve ser ativado"
end if
Um exemplo simples com cookie...

response.cookies("ativo")("verifica") = true
if not request.cookies("ativo")("verifica") then
	response.write "Mensagem informando para o usuário que o cookie deve ser ativado"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao o hargon exlicou perfeitamente o que tentei passar

 

obrigado hargon

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por nada moçada. ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.