Filtro no Formulário por variável global

Bom dia,

Sou novo no uso com Scriptcase, na verdade estou fazendo uns testes para conhecer a ferramenta. Eu criei uma aplicação do tipo control para validação de login e senha então no evento onValidate coloquei o código abaixo:

$email = {usuario};
$pwd = {senha};

$sql = "select id,email,senha from usuario where email = '".$email."' and senha = '".$pwd."'";

sc_lookup(ds,$sql);

if(isset({ds[0][0]})){
	[usr] = {ds[0][0]};
	sc_redir(menu);
}else{
	sc_alert("Dados Incorretos");
}

No meu caso estou validando o usuário pelo email. Esta parte esta funcionando bem. Meu problema é com esta linha:

	[usr] = {ds[0][0]};

Usei como referencia a documentação para atribuir um valor a uma variável global, entretanto estou em duvida se é desta forma mesmo que faz. Porque quando tento executar esta aplicação, antes de rodar a aplicação ele me abre uma página pedindo para digitar o valor de usr e logo abaixo um botão [control_usuario] que encaminha para a aplicação.

A outra dúvida é em como usar esta variável no formulário. Seguindo algumas documentações na aplicação do tipo form na configuração do sql eu coloquei na clausula where o comando:

usuario = [usr]

Mas quando executo ele dá o mesmo problema.

Dai eu adicionei esta variável global no menu Visualização / Dados em Sessão a variável usr porém o problema continua, quando vou executar a aplicação ele pede para digitar o valor antes de prosseguir. Sabem me dizer se isto é em função de estar usando a versão Trial ou se esta faltando mais alguma coisa.

Desde já agradeço.

Sergio Ribeiro

Ola Bom Dia Sergio Ribeiro, bem vindo ao Fórum y ao ScriptCase… respondendo algumas de suas duvidas
1- Usei como referencia a documentação para atribuir um valor a uma variável global, entretanto estou em duvida se é desta forma mesmo que faz ([usr] = {ds[0][0]}:wink: <— Sim e assim mesmo.
2- A outra dúvida é em como usar esta variável no formulário. Seguindo algumas documentações na aplicação do tipo form na configuração do sql eu coloquei na clausula where o comando: (usuario = [usr]) <— Esta quase certo você deve proteger com aspas simples dados do tipo text no sql então deveria ficar assim usuario = ‘[usr]’ Obs em uma parte você coloca [user] y em outra [usr] verifique.

Si você esta usando ambiente de desenvolvimento Localhost, y acessar diretamente uma aplicação que tem variáveis globais do tipo entrada o SC vai te pedir para completar a variável, apresentando o nome da mesma com um campo de entrada de dados, logo abaixo o botão para abrir a aplicação…

As configurações das variáveis globais você encontra em Aplicação - Variáveis Globais…

Sugiro que olhe os videos que estão na pagina do scriptcase tem muita coisa la…

http://www.scriptcase.com.br/videos-scriptcase/

http://www.scriptcase.com.br/curso-scriptcase-em-video/

Bom dia Willian,

Obrigado pelo retorno, eu consegui resolver o problema no caso do form mudando o comando para este abaixo:

	$usr = {ds[0][0]};
	sc_set_global($usr);

Entretanto eu li em outro lugar que esta forma de utilização seria descontinuada. Quando coloco da forma anterior ele pede para informar quando executo a a plicação. Eu encontrei a opção Aplicação / Variáveis globais porém ele não me permite inserir ali a informação. Vou dar uma olhada nos vídeos que você sugeriu para entender melhor como ele funciona.

Na clausula where coloquei as aspas como você sugeriu e acho que deu certo. Eu mudei o post porque tinha escrito errado ‘user’ ao inves de ‘usr’.

Acho que meu problema agora é onde colocar a variável global sem usar a macro sc_set_global

Obrigado

Sergio Ribeiro

Pessoal,

Consegui resolver o problema seguindo os seguintes passos:

1-Assitindo o vídeo Conceitos Básicos do Scriptcase em http://www.youtube.com/embed/rPfxyrwPO4w/
2- Coloquei o comando da forma inicial no evento onValidate como [usr] = {ds[0][0]};
3-Dai como sugerido pelo Willian, em Aplicação / Variáveis globais, após colocar a linha acima apareceu para mim a variável então coloquei ela como do tipo SESSION e SAIDA
4-Na clausula where do formulário que faz uso desta variável coloquei a mesma entre aspas simples desta forma: usuario = ‘[usr]’

Acho que talvez isto possa ajudar iniciantes como eu. Acho que na documentação poderia ter um passo a passo, ou um vídeo. Talvez até tenha, se tiver talvez eu não tenha encontrado ainda.

Grato,

Sergio Ribeiro

Sem problemas Sergio, esse negocio de manual videos, etc. já não e de hoje que os iniciantes reclama que não tem, eu mesmo aproveitei muita coisa dos videos, mais o que realmente me ajudou muito foi o pessoal aqui do Fórum…
Então si você for iniciar no Scriptcase sugiro compartilhar ideias aqui no fórum sera de grande ajuda para quem precisa , y si precisar de ajuda aclare seu problema o máximo possível assim e mais fácil de entender…
Abraços