Php 如果未设置会话,则打印默认消息

Php 如果未设置会话,则打印默认消息,php,session,Php,Session,我有一个书店网站,目前有一个登录功能,设置成功登录后的会话。我试图在index.php文件上实现一个头文件,如果用户未登录,它会打印出“Guest”,并在成功登录时用他们的名字替换“Guest”。目前,当用户登录时,我将我的网页打印出“欢迎来到书店,(姓名)”。但是,如果用户没有登录并且没有设置会话,那么它只会打印“欢迎来到书店”。这是我的密码: <?php session_start(); include "connection.php"; $greeting

我有一个书店网站,目前有一个登录功能,设置成功登录后的会话。我试图在index.php文件上实现一个头文件,如果用户未登录,它会打印出“Guest”,并在成功登录时用他们的名字替换“Guest”。目前,当用户登录时,我将我的网页打印出“欢迎来到书店,(姓名)”。但是,如果用户没有登录并且没有设置会话,那么它只会打印“欢迎来到书店”。这是我的密码:

<?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>

联合书店
欢迎来到书店,

为了获得网站的全部功能,您需要登录。如果您没有帐户,您可以在同一“登录”网页上注册。但是,使用搜索功能不需要登录。需要注意的是,只有管理员才能访问“添加/删除/编辑”页面

由Sai Peri于2019年创建
除了我的评论之外,检查用户是否未登录还有什么意义吗?为什么不假设是这样,如果找到了用户名,那么就把用户名添加到问候语中

比如:

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

    $greeting = "Guest";

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



 ?>


试着像这样检查
如果(!isset($\u SESSION['is\u logged\u in'])
@Ishaan是正确的,
$\u SESSION
将始终存在。您需要检查一个特定的索引,如
$\u SESSION['name']
或其他什么