PHP注意:未定义索引:用户名

时间:2017-06-18 13:49:31

标签: php sql session

我正在尝试使用PHP进行登录会话,并在"用户名"我的数据库的字段。 我的源代码在这里:

的index.php

    <?php
session_start();
if(isset($_POST['bttLogin'])){
    require 'connect.php';
    $username = $_POST['username'];
    $password = $_POST['password'];
    $result = mysqli_query($con, 'SELECT * FROM account WHERE username=" '.$username.' " AND password="'.$password.' " ');
    if (mysqli_num_rows($result)==1){
        $_SESSION['username'] = $username;
        header('Location: welcome.php');
    }
    else
        echo "Account invalid";
}
if(isset($_POST['username'])){
    $filename = $_POST['username'];
}

if (isset($_GET['logout'])){
    session_unregister('username');
}

?>
<form method="post">

    <table cellpadding="2" cellspacing="2" border="0">
        <tr>
            <td> Username </td>
            <td><input type = "text" name="usermame"></td>
        </tr>

        <tr>
            <td> Password </td>
            <td><input type = "password" name="password"></td>
        </tr>

        <tr>
            <td>  </td>
            <td><input type = "submit" name="bttLogin" value="Login"></td>
        </tr>
    </table>
</form>

我与我的数据库建立了连接,但它一直说用户名是未定义的。请帮忙。

1 个答案:

答案 0 :(得分:0)

似乎你在$ _SESSION var中没有索引'username'。 如果需要,您需要检查并初始化它 - 如下所示:

if (!isset($_SESSION['username'])) {
    if (!is_array($_SESSION)) {
        $_SESSION = [];
    }
    $_SESSION['username'] = $username;
}