variável de sessão

Boa tarde

SC 8.1.66

Li os tópicos sobre o assunto mas não resolveu.

O problema: variável global setada no login da mesma forma que o modulo de segurança cria, essa variável utilizada em um select em uma consulta, na primeira vez roda com o valor correto, ao sair do sistema e logar com outro usuario, a variável global continua com o valor da sessão anterior.

Controle da variavel
app_Login onScriptinit - sc_reset_global([usr_minhavariavel]);
app_Login onValidade - $usr_minhavariavel = {rs[0][4]};
app_Login onValidade - sc_set_global($usr_minhavariavel);

Testes com as informações do forum:
deixar somente como variável de sessão sem post e get, verificado e sem efeito.
tentar zerar o valor com [usr_minhavariavel]=’’; testado e sem efeito.

Por que ela permanece o mesmo valor no proximo login ?

Obrigado

Ok vamos fazer um teste, não use sc_reset_global nesta variável do teste, faça somente assim:

app_Login > OnValidate (junto com as outras):
$glo_Grupo_Senha = date(“H:i:s”);
sc_set_global($glo_Grupo_Senha);

OK agora na aplicação onde você vai usar ela, no OnLoad coloque:
echo 'GRUPO SENHA = '.[glo_Grupo_Senha]."
";

Ai deslogue da aplicação e entre no login várias vezes e faça o teste indo para a aplicação para ver se a hora vai mudando, fazendo isso, só redefinir sua variável novamente assim, e não precisa
entrar em Aplicação > Variáveis Globais e marcar nada lá.

Já fiz testes assim e o mais estranho e que se olhar o valor da variável por exemplo no cabeçalho , está o valor novo, mas no debug do sql aparece substituindo pelo valor do login anterior

Então para resolver faça isto, siga todos os passos que deve resolver.

1 ) Faça cópia da pasta \scriptcase inteira grave em lugar seguro.

2 ) Limpe Todo o cache do seu navegador tudo.

3 ) Entre na pasta \scriptcase\app (Apague tudo que tiver nesta pasta)

4 ) Entre na pasta \scriptcase\tmp (Apague tudo que tiver nesta pasta)

5 ) Baixe o SQLite Expert Personal:
http://www.sqliteexpert.com/download.html
Instale ele,
File > Open Database = C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\devel\conf\scriptcase\nm_scriptcase.db
Database > Vacuum
Database > Reindex All Tables
File > Exit

6 ) Entre no SC, em Administração e faça um Backup Geral, feche o SC.

  1. Faça uma atualização Manual do seu SC:
    https://suporte.scriptcase.com.br/index.php?/Knowledgebase/Article/View/670/22/atualizacao-manual---scriptcase-81

8 ) Entre novamente no SC em Administração e restaure o Backup Geral que fez.

9 ) Teste sua aplicação, continuando com erro, teste em outro navegador também, renomeie ela para bkp_nome_original e tente criar uma nova ‘do zero’ e fazer o mesmo procedimento.

10 ) Nada Disso dando certo entre em contato com o suporte: bugs@netmake.com.br

** Observação: Dentro de \scriptcase\backup ficam backups feitos pelo próprio SC.

Obrigado Jailton pela ajuda.

Contornei o problema , fazendo uma leitura de outra forma da informação que precisava no select.

Imaginando que em fazendo tudo isso que citou resolva o problema, continua sendo BUG na minha opinião.

Mesmo que resolveu seria interessante fazer esta manutenção, ai quando você precisar para uma outra aplicação ou outro projeto, ou esse mesmo já vai estar correto.

Eu sempre vivo fazendo isso no meu SC, a cada 3 meses, mesmo que não apresente problemas é tipo uma ‘manutenção’.

Obrigado
valeu a dica

Não sei o porquê, mas o scriptcase na minha versão não deixa mudar o valor de variável global, para solucionar esse problema utilizei o $_SESSION[‘nome da variavel’] = novo_valor;

Estamos tendo, acredito eu, o mesmo problema com variáveis de sessão.
A manutenção esvaziando algumas pastas são para aqueles que utilizam o Scriptcase no ambiente de produção.
O problema é para os usuários. Tivemos relatos de que usuários logaram no sistema, foi validado e em algum momento o usr_login (global) trouxe dados de uma outra sessão, de outro usuário.
Buscando solução, cheguei a esse tópico.