PHP - 注意:未定义的索引:header.php上的$ _SESSION ['login']

时间:2018-01-05 11:26:38

标签: php

我的header.php上有这个错误,它包含导航栏的所有html / bootstrap。

<?php
        if($_SESSION['login']) {
        ?>
            <ul class="nav navbar-nav">
                <li><a href="dashboard.php">Dashboard</a></li>
                <li><a href="settings.php">Settings</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <p class="navbar-text">Hello, <?php $name; ?></p>
                <li><a href="logout.php">Log Out</a></li>
            </ul>
        <?php
        } else {
        ?>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="login.php">Log In</a></li>
            </ul>
        <?php
        }
        ?>

它一直显示在我的导航栏上,但它运行正常:

  

“注意:未定义的索引:在第36行的C:\ xampp \ htdocs \ hotel-sys \ includes \ header.php中登录”

它只是不断显示通知。我该如何解决?

3 个答案:

答案 0 :(得分:1)

首先你应该检查会话变量是否已经启动

if(isset($_SESSION['login'])) {
    // Your code
}

答案 1 :(得分:1)

确保页面顶部有session_start()并替换

<?php 

 if($_SESSION['login']) {
 ... 
 }
?>

由此

<?php 
 if(isset($_SESSION['login']) && $_SESSION['login']) 
 {
 ...
 }
?>

答案 2 :(得分:1)

您可以尝试更新的代码,如下所示。

import { HttpClient, HttpXhrBackend, XhrFactory, HttpErrorResponse} from '@angular/common/http';
import { XMLHttpRequest} from 'xmlhttprequest';

export class BrowserXhr implements XhrFactory {
    constructor() {}
    build(): any { return <any>(new XMLHttpRequest()); }
}

describe('people-in-space API', () => {

    const http: HttpClient = new HttpClient(new HttpXhrBackend(new BrowserXhr()));

    it('should report success getting a list of people in space', (done) => {
        http.get('http://api.open-notify.org/astros.json').subscribe((response: any) => {
            expect(response.message).toEqual('success');
            done();
        }, (error: HttpErrorResponse) => {
            done.fail(error.message);
        });
    });

});