На моем сайте есть липкий заголовок, который называется php include. В этом липком заголовке у меня есть оператор if / else, который проверяет существующий сеанс. Если сеанса нет, тогда код повторяет кнопку входа. Это все работает как задумано. Я хочу обновить сайт, чтобы использовать модальный логин вместо отдельной страницы. Я закодировал модал в своем собственном php-файле, который можно включить на каждую страницу сайта. Все идет нормально. Теперь, когда я повторяю кнопку переключения данных, модал появляется, как только страница загружается, а не ждет, пока пользователь нажмет кнопку.
Моя цель - скрыть модал до тех пор, пока пользователь не захочет запуститьэкран входа в систему, нажав на кнопку в закрепленном заголовке.
Я протестировал код на одной странице, и это работает. Затем я разделил заголовок и модал на две страницы, и это работает. После включения третьей страницы возникает проблема с триггером.
/ =============== МЕНЮ ВХОДА ===================== /
<div id="top-nav">
<div id="login-top">
<?php
// Initialize the session
session_start();
// If session variable is set it will show logout button
if(isset($_SESSION['username'])){
echo '<a href="../account/account.php"><img src="../images/menu/Button_Account.png" width="140" height="25" /></a>';
} else {
echo '<a href="#myModal" class="trigger-btn" data-toggle="modal"><img src="../images/menu/Button_LoginSmall.png" width="140" height="25" /></a>';
}
?>
<!-- END #login-top --></div>
<!-- END #top-nav --></div>
/ =============== MODAL ===================== /
<div id="myModal" class="modal fade">
<div class="modal-login">
<div class="dimiss"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button></div>
<div class="formStuff">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="text-field <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
<input type="text" name="username"class="form-control" value="<?php echo $username; ?>" placeholder="Username">
<span class="help-block"><?php echo $username_err; ?></span>
</div>
<br/>
<div class="text-field <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
<input type="password" name="password" class="form-control" placeholder="Password">
<span class="help-block"><?php echo $password_err; ?></span>
</div>
<br/>
<p align="center"><input name="submit" type="image" value="Login" src="../images/buttons/Button_LoginReg.png" /></p>
<p align="center" style="color:#FFFFFF"><strong>Don't have an account? <a href="register.php">Sign up now</a>.</strong></p>
</form>
</div>
</div>
</div>
<script>
$('#myModal').modal({
backdrop: 'static',
keyboard: false
})
</script>
/ =============== INDEX ===================== /
<!-- BEGIN menu.php INCLUDE -->
<?php include "../menus/loginMenu.php"; ?>
<!-- END menu.php INCLUDE -->
<!-- BEGIN menu.php INCLUDE -->
<?php include "../login/modal.php"; ?>
<!-- END menu.php INCLUDE -->
больше кода и мусора здесь, но никакой другой связанный скрипт не вызывается.
Я ожидал, что модал будет скрыт до включения. Буду рад любым идеям о том, как решить эту проблему, помимо тестирования кода отдельно, что я уже сделал.