Autor Tópico: [RESOLVIDO] - Menu não monta após mudança de usuário  (Lida 744 vezes)

ilanocf

  • Intermediário
  • ***
  • Mensagens: 124
    • Email
[RESOLVIDO] - Menu não monta após mudança de usuário
« Online: Maio 15, 2016, 11:44:44 am »
Olá pessoal,

Estou fazendo uma aplicação extremamente simples, mas estou com problemas na montagem de menu. O que acontece é o seguinte, quando acesso o sistema com um usuário o menu monta bem direitinho contudo, quando entro com outro usuário o menu não monta mais e quando volto ao usuário anterior também não monta mais. Preciso ficar limpando os históricos do navegador para dar certo. Como estou fazendo?

Na tela de login tenho o código:

No evento onApplicationInit

$vlUsuario = 0;
$vlTipoUsuario = 0;
$vlEmail = '';

sc_set_global($vlUsuario);
sc_set_global($vlTipoUsuario);
sc_set_global($vlEmail);

No botão, do tipo PHP, o código:

$vlLogin = {Login};
$vlSenha = {Senha};
$vlSenha = md5($vlSenha);

$sql =  "SELECT Usuario_ID, Usuario_Nome, Usuario_Login, ";
$sql .= "Usuario_Email, Usuario_Senha, Usuario_Tipo ";
$sql .= "FROM a002_usuarios ";
$sql .= "WHERE Usuario_Login = '".$vlLogin."' AND Usuario_Senha = '".$vlSenha."' ";

sc_lookup(Ds, $sql);
if(!empty({Ds})){
   [vlUsuario] = {Ds[0][0]};
   [vlEmail] = {Ds[0][3]};
   [vlTipoUsuario] = {Ds[0][5]};
   sc_redir('menuprincipal','','');
}else
   {
      echo 'Login ou Senha inválidos.<br />Tente novamente.';
   };

E no evento OnLoad do Menu Principal onde os menus deverão ser montados, o código:

if ([vlTipoUsuario] == 0){
   sc_redir(login);
} else
if ([vlTipoUsuario] == 1){
   sc_menu_delete(item_16);
   sc_menu_delete(item_17);
   sc_menu_delete(item_19);
} else
if ([vlTipoUsuario] == 2){
   sc_menu_delete(item_2);
   sc_menu_delete(item_3);
   sc_menu_delete(item_4);
   sc_menu_delete(item_6);
   sc_menu_delete(item_7);
   sc_menu_delete(item_11);
   sc_menu_delete(item_12);
   sc_menu_delete(item_13);
   sc_menu_delete(item_14);
   sc_menu_delete(item_15);
   sc_menu_delete(item_18);
   sc_menu_delete(item_21);
};

Então, como posso resolver isso?

Grato,

Ilano
« Última modificação: Maio 16, 2016, 09:03:26 am por Ronyan Alves »

ilanocf

  • Intermediário
  • ***
  • Mensagens: 124
    • Email
Re:Menu não monta após mudança de usuário
« Responder #1 Online: Maio 15, 2016, 11:16:55 pm »
Seguinte galera,
Resolvi, de forma menos profissional, a minha questão.

Primeiro, no evento onApplicationInit do formulário Login:

$vlUsuario = 0;
$vlTipoUsuario = 0;
$vlEmail = '';

sc_set_global($vlUsuario);
sc_set_global($vlTipoUsuario);
sc_set_global($vlEmail);

Segundo, ainda no formulário de login, no evento do botão Login:

$vlLogin = {Login};
$vlSenha = {Senha};
$vlSenha = md5($vlSenha);

$sql =  "SELECT Usuario_ID, Usuario_Nome, Usuario_Login, ";
$sql .= "Usuario_Email, Usuario_Senha, Usuario_Tipo ";
$sql .= "FROM a002_usuarios ";
$sql .= "WHERE Usuario_Login = '".$vlLogin."' AND Usuario_Senha = '".$vlSenha."' ";

sc_lookup(Ds, $sql);
if(!empty({Ds})){
   [vlUsuario] = {Ds[0][0]};
   [vlEmail] = {Ds[0][3]};
   [vlTipoUsuario] = {Ds[0][5]};
   
   sc_redir('validarusuario','','');
   
}else
   {
      echo 'Login ou Senha inválidos.<br />Tente novamente.';
   };

Terceiro, no formulário validarusuario, no evento onLoad:

if ([vlTipoUsuario] == 0){
   sc_redir(login);
} else
   if ([vlTipoUsuario] == 1){
   sc_redir('menuprincipal','','');
} else
   if ([vlTipoUsuario] == 2){
      sc_redir('menu','','');
   };

Se alguém tiver uma solução mais profissional, por favor, publiquem aqui.