Bom dia!
Estou enfrentando um problema desde quando comecei esse projeto. O problema é com a aplicação app_login. Minha app_login está modificada para acessar vários banco de dados na mesma conexão. Pra ficar mais fácil segue o código abaixo. Ele troca de banco de dados quando um certo usuário e senha é inserido. Ele até loga mas o problema é que preciso digitar o usuário a senha duas vezes.
Já tentei muitas formas mas notei que após ele conectar no novo banco ele não atualiza as informações da tabela com a nova conexão pra validar o usuário sendo necessário recarregar o formulário.
Há alguma forma de recarregar um formulário e continuar a processa-lo a partir do onValidateSuccess sem ter que voltar desde o inicio e fazer o usuário digitar o login e senha novamente??
Obrigado.
ONVALIDATE
[code]sc_set_global($usr_login);
sc_set_global($spswd);
sc_set_global($arr_conn);
$arr_conn = array();
[usr_login] = {login};
[spswd] = {pswd};
if([usr_login] == ‘’ and [spswd] == ‘’){
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
sc_error_message({lang_error_login});
sc_error_exit();
}
elseif([usr_login] == ‘judas’ and [spswd] == ‘2194’){
$arr_conn[‘server’] = “127.0.0.1”;
$arr_conn[‘user’] = “root”;
$arr_conn[‘password’] = “pwdsenha”;
$arr_conn[‘database’] = “bancodedados_1”;
$arr_conn[‘persistent’] = “Y”;
$confirm = “Y”;
}
elseif([usr_login] == ‘tadeu’ and [spswd] == ‘me275’){
$arr_conn[‘server’] = “127.0.0.1”;
$arr_conn[‘user’] = “root”;
$arr_conn[‘password’] = “pwdsenha”;
$arr_conn[‘database’] = “bancodedados_2”;
$arr_conn[‘persistent’] = “Y”;
$confirm = “Y”;
}
else{
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
sc_error_message({lang_error_login});
sc_error_exit();
}
if ($confirm == “Y”){
sc_connection_edit(“conn_finanonline”, array(“server” => $arr_conn[‘server’],
“user” => $arr_conn[‘user’],
“password” => $arr_conn[‘password’],
“database” => $arr_conn[‘database’],
“persistent” => $arr_conn[‘persistent’]));
}[/code]
ONVALIDATESUCCESS
[code]$login = sc_sql_injection([usr_login]);
$pwd = sc_sql_injection([spswd]);
sc_lookup(rs1,“SELECT priv_admin, active, name, email, empresa_emid, login, pswd FROM sec_users WHERE login = $login AND pswd = $pwd”, “conn_finanonline”);
$usr_priv_admin = ({rs1[0][0]} == ‘Y’) ? TRUE : FALSE;
$usr_name = {rs1[0][2]};
$usr_email = {rs1[0][3]};
$usr_empresa = {rs1[0][4]};
sc_set_global($usr_priv_admin);
sc_set_global($usr_name);
sc_set_global($usr_email);
sc_set_global($usr_empresa);
sc_select(rs, “SELECT
app_name,
priv_acess,
priv_insert,
priv_delete,
priv_update,
priv_update,
priv_print
FROM sc_group_app
WHERE group_id IN
(SELECT
group_id
FROM
sec_users_groups
WHERE
login = $login)”, “conn_finanonline”);
if ({rs1} !== false)
{
while (!$rs->EOF)
{
if ($rs->fields[1] == ‘Y’)
{
sc_apl_status($rs->fields[0], ‘on’);
}
else
{
sc_apl_status($rs->fields[0], ‘off’);
}
sc_apl_conf($rs->fields[0], 'insert', has_priv($rs->fields[2]));
sc_apl_conf($rs->fields[0], 'delete', has_priv($rs->fields[3]));
sc_apl_conf($rs->fields[0], 'update', has_priv($rs->fields[4]));
//export
$export_permission = 'btn_display_'. has_priv($rs->fields[5]);
sc_apl_conf($rs->fields[0], $export_permission, 'xls');
sc_apl_conf($rs->fields[0], $export_permission, 'word');
sc_apl_conf($rs->fields[0], $export_permission, 'pdf');
sc_apl_conf($rs->fields[0], $export_permission, 'xml');
sc_apl_conf($rs->fields[0], $export_permission, 'csv');
sc_apl_conf($rs->fields[0], $export_permission, 'rtf');
//export
$export_permission = 'btn_display_'. has_priv($rs->fields[6]);
sc_apl_conf($rs->fields[0], $export_permission, 'print');
$rs->MoveNext();
}
$rs->Close();
sc_log_add('login', {lang_login_ok});
$_SESSION['test'] = time() + 1800;
}
sc_lookup(rs1, “SELECT aceite from contrato”);
if ({rs1[0][0]} <> ‘Y’){
sc_redir(‘form_contrato’);
}
else
{
sc_redir(‘menu_inicial’);
}[/code]