在会话变量 php 中面临未定义的索引错误

Facing Undefined index error in php on session variables

我得到的错误是 注意:未定义索引:登录C:\xampp\htdocs\hindustane\includes\top-header.php第19行 我的 top-header.php 文件如下:

<div class="top-banner-container">
      <a class="routine-banner-link" href="#"> </a>
    </div>
    <div class="container-fluid top-lighthouse">
      <nav class="navbar navbar-default">
        <div class="container top-lighthouse-container">
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand visible-xs" href="#">Menu</a>
          </div>
          <div id="navbar" class="navbar-collapse collapse">
            <ul  class="nav navbar-nav navbar-right">

                        <?php if(strlen($_SESSION['login']))
            {   ?>
              <li><a href="#"><i class="icon fa fa-user"></i>Welcome -<?php echo htmlentities($_SESSION['username']);?></a></li>
                <?php } ?>
              <li class="navbar-border"><a class="text-muted navbar-position" href="#">Buyer Protection</a></li>
              <li class="dropdown navbar-border">
                <a href="#" class="navbar-position text-muted dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Help <span class="glyphicon glyphicon-menu-down"></span></a>
                <ul class="dropdown-menu">
                  <li><a class="text-muted navbar-position" href="#">Customer Service</a></li>
                  <li><a class="text-muted navbar-position" href="#">Disputes & Reports</a></li>
                </ul>
              </li>
              <li class="navbar-border"><a class="text-muted navbar-position" href="#">Mobile</a></li>
              <li class="dropdown navbar-border">
                <a href="#" class="text-muted dropdown-toggle navbar-position" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Ship to <span class="glyphicon glyphicon-globe"></span> /  USD<span class="glyphicon glyphicon-menu-down"></span></a>
                <ul class="dropdown-menu">
                  <li><a class="text-muted navbar-position" href="#">Customer Service</a></li>
                  <li><a class="text-muted navbar-position" href="#">Disputes & Reports</a></li>
                </ul>
              </li>
              <li class="dropdown">
                <a href="#" class="text-muted dropdown-toggle navbar-position" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Language<span class="glyphicon glyphicon-menu-down"></span></a>
                <ul class="dropdown-menu">
                  <li><a class="text-muted navbar-position" href="#">Customer Service</a></li>
                  <li><a class="text-muted navbar-position" href="#">Disputes & Reports</a></li>
                </ul>
              </li>
            </ul>
          </div><!--/.nav-collapse -->
        </div><!--/.container-fluid -->
      </nav>
    </div>

我想不出解决它,需要帮助

可能与 PHP: "Notice: Undefined variable", "Notice: Undefined index", and "Notice: Undefined offset"

重复

但在你的情况下,你可以像下面这样解决你的错误或者像 error_reporting( error_reporting() & ~E_NOTICE ).

 <?php if(isset($_SESSION['login']) && !empty($_SESSION['login'])){   ?>
if(strlen($_SESSION['login']))

需要替换为

if(isset($_SESSION['login']))