Показать модал, если не залогинен - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь сделать модальное всплывающее окно, позволяющее вам войти в систему, но только если вы не вошли в систему.

Я пробовал много решений, но до сих пор могу получить только логин для отображения вНовая страница.

Пожалуйста, смотрите мой код ниже

index.php

<?php 

require 'database_connection.php';

if (!isset($_SESSION["type"])) {
    echo "<script>$('#loginModal').modal('show');</script>";
}

require 'includes/header.php';
?> 

***
***
if session type is 
set code goes here
***
***

<div id="loginModal" class="modal fade">
            <div class="modal-dialog">
                <form method="post" id="product_form">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h4 class="modal-title"><i class="fa fa-plus"></i> Add Product</h4>
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                        </div>
                        <div class="modal-body">
                            <div class="form-group">
                                <label>Stock Code</label>
                                <input type="text" name="product_name" id="product_name" class="form-control" required disabled />
                            </div>
                            <div class="form-group">
                                <label name="category_label" id="category_label">Category</label>
                                <select name="category_id" id="category_id" class="form-control" required> 
                                    <option value="">Select Category</option>
                                    <?php echo fill_category_list($connect);?>
                                </select>
                            </div>
                            <div class="form-group">
                                <label>Enter Product Quantity</label>
                                <div class="input-group">
                                    <input type="text" name="product_quantity" id="product_quantity" class="form-control" required pattern="[+-]?([0-9]*[.])?[0-9]+" placeholder="Enter Qty" /> 
                                    <span class="input-group-addon">
                                        <select class="form-control" name="product_unit" id="product_unit" required disabled>
                                            <option value="Box">Boxes</option>
                                        </select>
                                    </span>
                                </div>
                            </div>
                            <div class="form-group">
                                <label>Location</label>
                                <input type="text" name="product_location" id="product_location" class="form-control" required disabled />
                            </div>
                        </div>
                        <div class="modal-footer">
                            <input type="hidden" name="product_id" id="product_id" />
                            <input type="hidden" name="btn_action" id="btn_action" />
                            <input type="submit" name="action" id="action" class="btn btn-success" value="Add" />
                        </div>
                    </div>
                </form>
            </div>
        </div>

database_connection.php

<?php

$connect = new PDO('mysql:host=localhost;dbname=continental3', 'root', 'password');
session_start();

?>

Чего мне не хватает?

С другой стороны, если есть более простой или лучший способ сделать это, я рад изменить мой подход

Любая помощь будет принята с благодарностью

** ОБНОВЛЕНИЕ **

<?php

require 'database_connection.php'; //checks session type is set or not
require 'includes/header.php'; // Loads css and js files

if (!isset($_SESSION["type"])) { //session check 


    echo '<script>$(document).ready(function(){$("#loginModal").modal("show");});</script>'; 
} //open modal

require 'function.php'; 
require 'includes/navbar.php';

?>

Приведенный выше код показывает модальный режим, как и ожидалось, но только после загрузки страницы.При удалении функции готовности документа модал не загружается, но загружается и отображается остальная часть страницы (предположительно потому, что я не использую условие else. При использовании условия else, как показано ниже, ничего не загружается.

<?php

require 'database_connection.php';
require 'includes/header.php';

if (!isset($_SESSION["type"])) { ?>


    echo '<script>$(document).ready(function(){$("#loginModal").modal("show");});</script>';
 <?php } else {

require 'function.php'; 
require 'includes/navbar.php';

?>

***
***
if session type is 
set code goes here
***
***

<div id="loginModal" class="modal fade">
            <div class="modal-dialog">
                <form method="post" id="product_form">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h4 class="modal-title"><i class="fa fa-plus"></i> Add Product</h4>
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                        </div>
                        <div class="modal-body">
                            <div class="form-group">
                                <label>Stock Code</label>
                                <input type="text" name="product_name" id="product_name" class="form-control" required disabled />
                            </div>
                            <div class="form-group">
                                <label name="category_label" id="category_label">Category</label>
                                <select name="category_id" id="category_id" class="form-control" required> 
                                    <option value="">Select Category</option>
                                    <?php echo fill_category_list($connect);?>
                                </select>
                            </div>
                            <div class="form-group">
                                <label>Enter Product Quantity</label>
                                <div class="input-group">
                                    <input type="text" name="product_quantity" id="product_quantity" class="form-control" required pattern="[+-]?([0-9]*[.])?[0-9]+" placeholder="Enter Qty" /> 
                                    <span class="input-group-addon">
                                        <select class="form-control" name="product_unit" id="product_unit" required disabled>
                                            <option value="Box">Boxes</option>
                                        </select>
                                    </span>
                                </div>
                            </div>
                            <div class="form-group">
                                <label>Location</label>
                                <input type="text" name="product_location" id="product_location" class="form-control" required disabled />
                            </div>
                        </div>
                        <div class="modal-footer">
                            <input type="hidden" name="product_id" id="product_id" />
                            <input type="hidden" name="btn_action" id="btn_action" />
                            <input type="submit" name="action" id="action" class="btn btn-success" value="Add" />
                        </div>
                    </div>
                </form>
            </div>
        </div>
<?php } #close else ?>

1 Ответ

0 голосов
/ 22 марта 2019

Где вы установили $ _SESSION ['type'] ???

Пожалуйста, попробуйте это index.php

<?php 

require 'database_connection.php';

if (!isset($_SESSION["type"])) { ?>

   <script> $('#loginModal').modal('show'); </script>";

<?php } else {

require 'includes/header.php';
?> 

***
***
if session type is 
set code goes here
***
***

<div id="loginModal" class="modal fade">
            <div class="modal-dialog">
                <form method="post" id="product_form">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h4 class="modal-title"><i class="fa fa-plus"></i> Add Product</h4>
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                        </div>
                        <div class="modal-body">
                            <div class="form-group">
                                <label>Stock Code</label>
                                <input type="text" name="product_name" id="product_name" class="form-control" required disabled />
                            </div>
                            <div class="form-group">
                                <label name="category_label" id="category_label">Category</label>
                                <select name="category_id" id="category_id" class="form-control" required> 
                                    <option value="">Select Category</option>
                                    <?php echo fill_category_list($connect);?>
                                </select>
                            </div>
                            <div class="form-group">
                                <label>Enter Product Quantity</label>
                                <div class="input-group">
                                    <input type="text" name="product_quantity" id="product_quantity" class="form-control" required pattern="[+-]?([0-9]*[.])?[0-9]+" placeholder="Enter Qty" /> 
                                    <span class="input-group-addon">
                                        <select class="form-control" name="product_unit" id="product_unit" required disabled>
                                            <option value="Box">Boxes</option>
                                        </select>
                                    </span>
                                </div>
                            </div>
                            <div class="form-group">
                                <label>Location</label>
                                <input type="text" name="product_location" id="product_location" class="form-control" required disabled />
                            </div>
                        </div>
                        <div class="modal-footer">
                            <input type="hidden" name="product_id" id="product_id" />
                            <input type="hidden" name="btn_action" id="btn_action" />
                            <input type="submit" name="action" id="action" class="btn btn-success" value="Add" />
                        </div>
                    </div>
                </form>
            </div>
        </div>
<?php } #close else ?>

database_connection.php

<?php

$connect = new PDO('mysql:host=localhost;dbname=continental3', 'root', 'password');
session_start();

?>
...