Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Form com post estático Tenho esses 2 arquivos {{ADMIN PA...
RL
Form com post estático  
Tenho esses 2 arquivos

<!--[main]--> <div class="container"> <div class="row"> <div class="col-lg-3 col-md-2"></div> <div class="col-lg-6 col-md-8 login-box"> <div class="col-lg-12 login-key"> <i class="fas fa-key" aria-hidden="true"></i> </div> <div class="col-lg-12 login-title"> {{ADMIN PANEL}} </div> <div class="col-lg-12 login-form"> <div class="col-lg-12 login-form"> <form method="POST" action="index.php?class=LoginAdm&method=onLogin&static=1"> <div class="form-group"> <label class="form-control-label">{{USERNAME}}</label> <input type="text" class="form-control" name="username" required> </div> <div class="form-group"> <label class="form-control-label">{{PASSWORD}}</label> <input type="password" class="form-control" name="password" required> </div> <div class="col-lg-12 loginbttm"> <div class="col-lg-6 login-btm login-text"> <!-- Error Message --> </div> <div class="col-lg-12 login-btm login-button"> <button type="submit" class="btn btn-outline-primary">{{LOGIN}}</button> </div> </div> </form> </div> </div> </div> </div> </div> <!--[/main]-->


  1. <?php
  2. class LoginAdm extends TPage
  3. {
  4.     private $html;
  5.     public function __construct()
  6.     {
  7.         parent::__construct();
  8.         $this->html = new THtmlRenderer('app/resources/login/login_adm.html');
  9.         $this->html->enableSection('main', [
  10.             'ADMIN PANEL' => _t('ADMIN PANEL'),
  11.             'USERNAME' => _t('USERNAME'),
  12.             'PASSWORD' => _t('PASSWORD'),
  13.             'LOGIN' => _t('LOGIN')
  14.         ]);
  15.         parent::add($this->html);
  16.     }
  17.     public static function onLogin($param)
  18.     {
  19.         try {
  20.             if (!empty($param['username']) && !empty($param['password'])) {
  21.                 TTransaction::open(CONF_DATABASE_FILENAME);
  22.                 TSession::regenerate();
  23.                 
  24.                 if (User::authenticate($param['username'], $param['password'])) {
  25.                     AdiantiCoreApplication::loadPage('StoreForm');
  26.                 } else {
  27.                     throw new Exception("Usuário ou senha inválidos");
  28.                 }
  29.             }
  30.         } catch (Exception $e) {
  31.             echo json_encode(['error' => $e->getMessage()]);
  32.         }
  33.     }
  34. }
  35. ?>


Acontece que, quando clico no botão, a página some, mesmo estando com static=1. Como faço para manter o formulário sendo exibido mesmo depois de enviar o formulário?

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (1)


NR

Você está usando o método "padrão" de php/html para submeter o formulário, sem ajax. Por isso há a recarga da tela.

Sugiro verificar o código html gerado pelo formulário de login nativo do Adianti. No botão de login há várias chamadas a funções javascript internas que podem te ajudar.