Ir para conteúdo

POWERED BY:

Arquivado

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

kania

Como funiona a Session

Recommended Posts

Pessoal estou tentando fazer um código em ASO que faça o seguinte:

 

Primeiro preciso verificarse existe uma session já criada pelo usuário, esta session é criada atraves da URL que ele digitou.

Caso não exista uma session o código vai pegar a QueryString("id") e criar esta session e guardar em session ("associado") = "ok" caso tenha sido encontrada o usuário no BD ou caso contrário o associado vai ser redirecionado para a pagina inicial novamente e será impresso na tela ainformação que o usuário não existe., assim o usuário digitará novamente a URL e o sistema ira fazer novamente a verificação, boma té aqui tudo funciona certinho com o código abaixo.

 

if session ("associado") = "ok" then
	else
		'session.Abandon
			associadoCad = request.QueryString("id")
			session("recLogin") = associadoCad
			Set RS = Server.CreateObject("adodb.recordset")
			SQL = "select * from associados2 where inscricao='"&associadoCad&"' or login='"&associadoCad&"'"
			RS.Open SQL,Conn,3,3
				if rs.eof then
				response.Redirect("default.asp")
				else
					session ("associado") = "ok"
					associado = session ("associado")
					session ("nome") = Rs("nome")
					session ("login") = Rs("inscricao")
					session("IDAssociado") = Rs("IDASSOCIADO")
				end if

end if

Na apgina inicial do site tem um include chando a pagina que esta o código acima

 

<!--#include file="funcao_verifica_associado.asp"-->

e nas pagina que preciso que seja efetuada esta verificação tem o seguinte código

 

<%
if session ("associado") = "ok" then
%>
AQUI TODO O CONTEÚDO DO SITE CASO ESTEJA TUDO CORRETO
<%
else
response.write "<script>location = ""default.asp"";alert(""Você não pode se cadastrar neste momento, pois não foi identificado um Patrocinador para você. Por favor entre com o endereço   [   www.conquistta.com.br/login do seu patrocinador   ] ou utilize nosso link de CONTATO para falar com a empresa e verificar o lider mais próximo a você"")</script>"
end if
%>

O que não estou conseguindo fazer.

 

Preciso que quando o usuario sem fechar o navegador troque a URL tipo www.conquistta.combr/?id=teste para www.conquistta.combr/?id=teste2 o sistema consiga verificar que a URL foi modificada e feche esta session e cria a nova com o novo nome do usuário, sem a necessidade de fechar o navegador, até consegui fazer isto comprando a session ("login") com a session("recLogin") o problema é que na pagina incial funciona perfeito, mas quando clico em uma pagina que precisa da verificação da session ("associado") = "ok" ele para o site e não vai, fica tentando abrir a pagia e não abre, e se eu não fizer esta verificação, quando eu troco o nome do associado na URL ele não recria a session porque para o sistema a session esta OK, como posso efetuar tais verificações de forma a funiconar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

so o cara mudar o id ja muda quem ta logado no sistema?

 

isso nao é muito inseguro nao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdae mario, não que oc ara vai estar logado no sistema, ele vai estar em uma pagina com o ome dele apenas, isto se faz necessário porque ele pode cadastrar um novo associado pelo site, porem eu não posso deixar uma pessoa se cadastrar se ela não tiver escolhido um PATROCINADOR digamos assim, e para ela ter certeza que foi escolhido um patrocinador ela tem que digitar a url do site seguido de /?id=logi_do_associado já cadastrado, por isso que ela pode trocar o login na URL, porque eu posso estar no meu site mas vou cadastrar alguém em nome de outro associado e dai preciso trocar a URL, hoje não estou conseguindo trocar a URL e fazer com que o sistema funcione corretamente, sempre da algum tipo de erro

 

tentei fazer um segundo IF assim

 

if session("recLogin") <> session ("login") then
		session.Abandon
				associadoCad = request.QueryString("id")
				session("recLogin") = associadoCad
				Set RS = Server.CreateObject("adodb.recordset")
				SQL = "select * from associados2 where inscricao='"&associadoCad&"' or login='"&associadoCad&"'"
				RS.Open SQL,Conn,3,3
					if rs.eof then
					response.Redirect("default.asp")
					else
						session ("associado") = "ok"
						associado = session ("associado")
						session ("nome") = Rs("nome")
						session ("login") = Rs("inscricao")
						session("IDAssociado") = Rs("IDASSOCIADO")
					end if
	end if

Mas da ai aocntece aquilo que falei anteriomente a pagina fica travada quando se tenta ir para uma URL que precisa da verificação

Compartilhar este post


Link para o post
Compartilhar em outros sites

erros de que tipo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, eu dou umamensagem na tela informando ao usuário que ele não possui um patrocinador por isso não pode se cadastrar, mas isto só deveria aocntecer caso ele tenha digitado um login errado na url ou se a sesion dele tiver expirado.

Outro erro é você clicar no cadastr-se por exemplo que é uma pagina que exige um associado já cadastrado, e não ir para a pagina fica tentando entrar na pagina mas não vai

caso queria testar para você ver como é o funiconamento na pratica http://www.conquistta.com.br/?id=governadormt e clique em cadastre-se, neste moento esta tudo OK (em termos) porque se você trocar o usuário ou colcoar um usuário não valido ele continua com a sesison aberta, não estou conseguindo destruir a session se algo estiver errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce deve usar servervariables para copturar os valores que estao na url e de posse deles fazer este trabalho

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim mas nao desta forma que voce psotou

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.