Как отобразить модальную кнопку входа, которая не включает автоматически? - PullRequest
0 голосов
/ 05 ноября 2019

На моем сайте есть липкий заголовок, который называется 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">&times;</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 -->

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

Я ожидал, что модал будет скрыт до включения. Буду рад любым идеям о том, как решить эту проблему, помимо тестирования кода отдельно, что я уже сделал.

...