dpd66100 2017-04-29 06:59
浏览 43
已采纳

如何在会话中定义索引“UserName”?

I'm trying to show the login form to visitors only and hide it when user is logged in. I've seen similar question here but I couldn't get the answer. In the current code I get the Login form which is included from another page and also an error " Undefined index: UserName". So how can I define it?

<?php session_start() ?>
<!DOCTYPE html>
<html>
<head>
    <title>Home</title>
    <meta charset="utf-8"/>
    <link rel="stylesheet" href="IndexStyle.css"/>
    <meta name="viewport" content="width= device-width, intial-scale=1.0">

</head>
<body class="body">
    <header class="MainHeader">
    <img src="images/header-image-5.jpg">
    <nav><ul>
         <li class="active"><a href="index.php">Home</a></li>
         <li><a href="Product.php">Products</a></li>
         <li><a href="AboutUs.php">About Us</a></li>
         <li><a href="ContactUs.php">Contact Us</a></li>
         <div id="AdminP">
            <li><a href="AdminPanel.php">Admin Panel</a></li>
         </div>
        </ul>
    </header>
    <div class="MainBody">
        <p>This is Mainbody 
        </p>
    </div>
    <aside class="SideBar">
        <div class="login">
<?php
    if($_SESSION['UserName'] == "") {

        include 'Form.php';
    } else {
        echo "Logged in";
    }
?>
        </div>        
      <p>&nbsp;</p>
    </aside>
    <Footer class="Footer"> 
        <p>Copyrights reserved 
        </p>
    </Footer>
</body>
</html>
  • 写回答

3条回答 默认 最新

  • douzhanhui5662 2017-04-29 07:20
    关注

    You need to check session right way if($_SESSION['UserName'] == "") {

    You can use isset and empty for checking session.

    session_start();
    if(isset($_SESSION['UserName']) && !empty($_SESSION['UserName']))
    {
    include 'Form.php';
    }
    else {
    echo "Logged in";
    }
    

    you can also use array_key_exists instend of isset

    session_start();
    if(array_key_exists('UserName',$_SESSION) && !empty($_SESSION['UserName'])) {
    include 'Form.php';
    }else{
    echo "Logged in";
    }
    

    Above methods for (especially for array keys) it works and also you can go for

    if (!isset($_SESSION['UserName']) || $_SESSION['UserName'] == '')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算