0

我正在做一个 php/ajax 登录,所以页面重定向是在 javascript (ajax) 中。我已经可以将它重定向 ajax 方式(不连接到数据库等),但是当我在 php 中添加数据库和会话内容时,我得到了这个 php 错误。

注意:未定义索引:第 22 行 D:\wamp\www\bday_app\login.php 中的用户名

这是我的代码:我得到了 index.php(它有登录表单和 ajax 代码),ajax 代码使用 login.php(使用 POST 方法)来传递用户名/密码。这是我的 login.php 的内容:

if(mysql_num_rows($query_results)==1){
    $row = mysql_fetch_array($query_results);
    $_SESSION['username'] = $row['username'];
    $_SESSION['nickname'] = $row['nickname'];
    $_SESSION['firstname'] = $row['first_name'];
    $_SESSION['middlename'] = $row['middle_name'];
    $_SESSION['lastname'] = $row['last_name'];
    echo 'Login successful! Redirecting...';
    //header("Location: bday_app_home.php");
}else{
    echo 'Invalid username/ password.';
    //header("Location: index.php");
}

错误中的第 22 行是:

$_SESSION['username'] = $row['username'];

如果我有一个无效的用户名/密码,它很好,因为它会在 index.php 中很好地显示消息,但是当用户名/密码正确时,我得到了这个未定义的索引错误。

我不知道为什么,因为用户名/密码是通过 POST 收到的,请参阅图像中的回显值 - mars1,mars123

请帮忙... :(

谢谢。

4

2 回答 2

1

看起来像会话问题....

你有没有开始SESSION

session_start();

$_SESSION['username']
于 2012-10-17T14:20:47.253 回答
0

确保您在脚本之上指定了 session_start()。

还请确保您没有尝试这样做:

echo 'Login successful! Redirecting...';
header("Location: bday_app_home.php");

在你的脚本中。这将不起作用,因为在 header() 函数进行重定向之前进行了一些输出。

于 2012-10-17T14:42:08.110 回答