Как открыть внешнюю сохраненную модальность при загрузке страницы

#javascript #php #jquery #bootstrap-modal

#javascript #php #jquery #bootstrap-модальный

Вопрос:

У меня есть модальность для входа пользователя в систему, и я хотел бы автоматически отображать ее на специальных страницах, если пользователь не вошел в систему. Модальный файл хранится во внешнем файле (modal_sign_in.php ), чтобы я мог вызывать его с разных страниц.

Код ссылки в строке меню:

 <a href="" id="modal_sign_in" data-modal-external-file="modal_sign_in.php"
data-target="modal_sign_in" class="promoted">Login Modal</a>
  

Как я могу отобразить модальность с любой страницы при проверке загрузки, если пользователь вошел в систему?

 if ( $_SESSION['logged_in'] != 1 ) {       
    ??????
    exit();
}
  

Комментарии:

1. Кажется, вы на правильном пути, но что это ?????? такое и почему exit() вы это делаете?

2. ?????? заключается в том, чтобы выразить, что это та часть, в которой я застрял

Ответ №1:

Вы просто включаете этот внешний файл туда :

 if ( isset($_SESSION['logged_in']) {   
  if ( $_SESSION['logged_in'] != 1 ) {           
    include("modal.php");
  }
}
  

Если модальность не запускается автоматически, вам нужно будет запустить ее с помощью javascript. Создайте кнопку, измените видимость на скрытую, затем подключите этот btn к модальному, а затем запустите щелчок.

 if ( $_SESSION['logged_in'] != 1 ) {       
    include("modal.php");
    echo "<script> $( '#yourbtnid' ).trigger( 'click' ); </script> ";
}
  

Комментарии:

1. Я включил файл и подключил кнопку к модальному. ‘<button style=»visible:hidden» id=»btn_login»></button>’; <script> $(‘#btn_login’).click(function() { $(‘#modal_sign_in’).modal(‘show’); }); </script>` Каким-то образом модальный всегда отображается поверх страницы, а не как модальный. Есть идеи по этому поводу?

2. @Beji Скорее всего, потому что вы загружаете модальный файл перед загрузкой стилей и javascript, убедитесь, что вы загрузили его внутри тега <body>