formulario dinamico por usuario

(Arquimedes) #1

tenho um formulario que esconde campo conforme usuario logado, porem ele nao estar recebendo a variavel global.

em cadastrar_denuncia.php
no formulario em eventos em onScriptInit coloquei o seguinte script

if ({sm_global_login} == ‘admin’) // Display block
{
sc_block_display(coordenadas, ‘on’);
}
else // Hide block
{
sc_block_display(coordenadas, ‘off’);
}

em control_login.php
sc_lookup(ds_user, "select Login, Pswd, unidade from sec_users where Login = $var_login and Pswd = $var_password ");

if ({ds_user} != false)
{
$sm_global_login = {login};
sc_set_global($sm_global_login);

    sc_lookup(ds_user_app, "select sec_group_aplication.Aplication_Name from sec_group_aplication inner join sec_users_groups on sec_group_aplication.Group_Id = sec_users_groups.Group_Id where sec_users_groups.Login_User = '{login}' ");

if ({ds_user_app} != false)
{
	for($i = 0; $i < count({ds_user_app}); $i++)
	{		    
		sc_apl_status({ds_user_app[$i][0]}, 'on');
	}
}


 sc_redir('menu', sm_global_login ={login});

}
else
{
sc_error_message(“Acesso negado !”);

no menu estar recebendo o nome perfeitamento, porem apos fazer o login o formulario nao recebe o nome do usuario

(Cleyton Euler) #2

Faz o teste no evento onLoad do cadastrar_denuncia

(Cleyton Euler) #3

Eu faria diferente:

Vc já deu um sc_set_global em $sm_global_login.

Então esta variável já é “visível” em todo o projeto. Em vez de usar a sc_redir eu faria uma ligação de aplicação do login com o menu. Assim, após o onValidate do login a aplicação chama o menu. Lá no menu e em qualquer aplicação que vc quiser, para chamar a global use: [$sm_global_login]

(Cleyton Euler) #4

Depois de fazer o login, vai em exibir dados em sessão e veja se a variável tem valor.

(Cleyton Euler) #5

No menu exibir do ScriptCase

(Arquimedes) #6

aparece o valor de sm_global_login para admin

(Cleyton Euler) #7

O nome da variável que retorna no erro está correta?

Posta seu código do cadastro denuncias como ele está agora.

(Arquimedes) #8

onScriptInit do cadastro_denuncias.php

/**

  • Hide/show a block
    */
    $login = [sm_global_login];

if ({login} == ‘admin’) // Display block
{
sc_block_display(coordenadas, ‘on’);
}
else // Hide block
{
sc_block_display(coordenadas, ‘off’);
}

aparece a seguinte mensagem, executando logando ou executando direto do formulario e informando manualmente o valor parar [sm_global_login]

seguinte mesagem :
ERRO
Undefined property: cadastro_denuncias_apl::$login

(Cleyton Euler) #9

A validação está errada:

/**

  • Hide/show a block
    */
    $login = [sm_global_login];

if ($login == ‘admin’) // Display block
{
sc_block_display(coordenadas, ‘on’);
}
else // Hide block
{
sc_block_display(coordenadas, ‘off’);
}

Se vc fizer {login} o sc entende que é o campo chamado login e não a variável $login.

(Arquimedes) #10

faleu muito obrigado agora deu certo o bloco contendo os campos latitude e longitude foram escondidos