注意:PHP会话的未定义索引

时间:2016-02-25 07:32:46

标签: php session

我有我的index.php页面,用户可以在这里注册和登录会话。 这是我得到的错误: 注意:未定义的索引:第18行的C:\ wamp \ www \ CMS \ admin \ index.php中的用户名。 我的代码出了什么问题?

index.php的简短片段:

源代码

<!-- Navigation -->
<?php include "includes/admin_navigation.php" ?>

<div id="page-wrapper">

    <div class="container-fluid">

        <!-- Page Heading -->
        <div class="row">
            <div class="col-lg-12">
                <h1 class="page-header">
                    Welcome To Admin

                    <small><?php echo $_SESSION['username'] ?></small>
                </h1>

            </div>
        </div>

这是我的login.php

源代码

1 个答案:

答案 0 :(得分:4)

在php脚本的第一行写下:

if (session_status !== PHP_SESSION_ACTIVE) {
    session_start();
}

出于调试目的,添加

var_dump($_SESSION);

if {} 后。您还必须确保会话存在于您要使用它的每个文件中。为了简化这个过程,我将举一个简短的例子:
1.您创建一个header.php文件,在其中放置上面的if {}块 2.只要您想在脚本中使用会话,只需在脚本的第一行包含该头文件即可。

//header.php 
if (session_status !== PHP_SESSION_ACTIVE) {
    session_start();
}

//index.php
include 'header.php';
echo $_SESSION['username'];


//login.php
include 'header.php';
$_SESSION['username'] = 'John Doe';

我希望你得到这个例子背后的一般概念。如果你不明白,请在评论中提问。