Печать сообщения по умолчанию, если сеанс не установлен - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть веб-сайт книжного магазина, который в настоящее время имеет функцию входа в систему, которая устанавливает сеанс при успешном входе в систему.Я пытаюсь реализовать заголовок в моем файле index.php, который печатает «Гость», если пользователь не вошел в систему и заменяет «Гость» своим именем при успешном входе в систему.В настоящее время, когда пользователь входит в систему, у меня распечатывается веб-страница «Добро пожаловать в книжный магазин, (имя)».Но если пользователь не вошел в систему и сеанс не установлен, он выводит только «Welcome to the Bookstore».Вот мой код:

<?php
    session_start();
    include "connection.php";

    $greeting = "";

    if(!isset($_SESSION)) {
        $greeting = "Guest";
    }
    if(isset($_SESSION)) {
        $greeting = $_SESSION['name'];
    }



 ?>



<!DOCTYPE html>
 <html>
    <head>
        <title>UND Bookstore</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
        <meta name="author" content="Sai Peri"></meta>
        <meta name="description" content="CSCI 457 Assignment 1"></meta>
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <!-- Optional theme -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
        <!-- Latest compiled and minified JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
        <!-- Latest jQuery libraries -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-12">
                    <nav id="nav" class="navbar navbar-inverse text-center">
                        <ul class="nav navbar-nav">
                            <li class="active"><a href="index.php">Home</a></li>
                            <li><a href="login.php">Login</a></li>
                            <li><a href="search.php">Search</a></li>
                            <li><a href="check.php">Add/Delete/Edit</a></li>
                        </ul>
                    </nav>
                </div> <!-- End col-md-12 -->
            </div>  <!-- End row (nav)-->
            <div class="row" id="body">
                <div class="col-md-12">
                    <div class="page-header">
                        <h3 class="text-center">Welcome to the Bookstore, <?php echo $greeting; ?></h3>
                    </div> <!-- End of page-header -->
                    <p class="text-center">In order to get the full functionalty of the website you need to login. If you do not have an account you can register on the same "Login" webpage. You do not need to be logged in to use the search functionality, however. It should be noted that only the administrator can access the "Add/Delete/Edit" page.</p>
                </div> <!-- End col-md-12 -->
            </div> <!-- End row (nav)-->
            <div class="row" id="footer">
                <div class="col-md-12 text-center">
                    <footer>Created 2019 by Sai Peri</footer>
                </div> <!-- End col-md-12 -->
            </div> <!-- End row (nav)-->
        </div> <!-- End container -->
    </body>
</html>

1 Ответ

0 голосов
/ 10 февраля 2019

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

Что-то вроде:

<?php
    session_start();
    include "connection.php";

    $greeting = "Guest";

    if(isset($_SESSION['name'])) {
        $greeting = htmlspecialchars($_SESSION['name']);
        // added special chars to avoid xss attacks
    }



 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...