首页 文章

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

提问于
浏览
1

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

index.php的简短片段:

source code

<!-- 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

source code

1 回答

  • 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';
    

    我希望你得到这个例子背后的总体思路 . 如果你不明白,请在评论中提问 .

相关问题