【问题标题】:Notice: Undefined index: MM_Username注意:未定义索引:MM_Username
【发布时间】:2014-04-13 14:06:26
【问题描述】:

-如果这将被否决,那么我只需要帮助-

我正在创建自己的 CMS,经过数小时后,我终于将其显示在没有用户登录时可以显示登录信息并在用户登录时显示注销信息的位置。但是现在我只有在用户登录时才会收到此错误未登录

注意:未定义索引:C:\wamp\www...\header.php 中第 43 行的 MM_Username

注意:未定义索引:C:\wamp\www...\header.php 中第 45 行的 MM_Username

这是我的整个 header.php(它只是顶部导航栏的代码)

<?php
//initialize the session
if (!isset($_SESSION)) {
  session_start();
}

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
  $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
  //to fully log out a visitor we need to clear the session varialbles
  $_SESSION['MM_Username'] = NULL;
  $_SESSION['MM_UserGroup'] = NULL;
  $_SESSION['PrevUrl'] = NULL;
  unset($_SESSION['MM_Username']);
  unset($_SESSION['MM_UserGroup']);
  unset($_SESSION['PrevUrl']);

  $logoutGoTo = "admin/login.php";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
  }
}
?>
<nav class="top-bar">
    <ul class="title-area">
      <li class="name"><h1><a href="#">Robdogga55's Paradise [BETA]</a></h1></li>
    </ul>
    <section class="top-bar-section">
      <ul class="left">
        <li><a href="/"><img src="images/icons/home_icon.png"> Home</a></li>
        <li><a href="page_about_1.html"><img src="images/icons/about_icon.png"> About</a></li>
        <li><a href="page_showcase_2.html"><img src="images/icons/pages_icon.png"> Showcase</a></li>
        <li><a href="page_videos_5.html"><img src="images/icons/videos_icon.png"> Videos</a></li>
        <li>Welcome <?php echo $row_Recordset1['username']; ?>!</li>
      </ul>
      <ul class="right">

<?php if ($_SESSION['MM_Username'] != '') { ?>
<li><a href="<?php echo $logoutAction ?>"><img src="images/icons/login_icon.png"> Logout</a></li>
<?php } elseif ($_SESSION['MM_Username'] == '') { ?>
<li><a href="admin/"><img src="images/icons/login_icon.png"> Log in</a></li>
<?php } ?>

      </ul>
    </section>
</nav>

任何帮助都会很棒,谢谢。这可能是我没有看到的简单的东西。

【问题讨论】:

    标签: php


    【解决方案1】:

    由于您已使用 unset($_SESSION['MM_Username']); 取消设置 MM_Username 项,因此 MM_Username 密钥不再存在,并且当您尝试在第 43 行使用 $_SESSION['MM_Username] 访问它时会收到错误消息`

    我建议您在使用之前评论(或删除,或移到后面):unset($_SESSION['MM_Username']); 并使用if (isset($_SESSION['MM_Username'])) 测试此索引是否存在。

    【讨论】:

    • 我尝试了&lt;?php if ($_SESSION['MM_Username'] != '') { ?&gt; 行中的一个(用if (isset($_SESSION['MM_Username'])) 替换它)并且一个错误消失了,但是我尝试对 elseif 行做同样的事情,现在没有错误但是然后@987654328 @ 不显示
    • @Robdogga55:你不需要替换 if 和 elseif 条件(但是最好写成 elseif (empty($_SESSION['MM_Username'])) 因为它更明确/可读)。您必须在 if 条件之前测试 $_SESSION['MM_Username'] 的存在,并将所有段落放在大括号之间
    【解决方案2】:

    将第 43 行和第 45 行替换如下:

    <?php if (isset($_SESSION['MM_Username'])) { ?>
    

    还有

    <?php } elseif (isset($_SESSION['MM_Username'])) { ?>
    

    【讨论】:

    • 这似乎完全删除了部分日志
    猜你喜欢
    • 2015-12-01
    • 2013-11-27
    • 2015-06-02
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 2015-07-29
    相关资源
    最近更新 更多