注意:未定义的索引:第10行的用户名

时间:2013-07-25 21:16:21

标签: php username undefined-index

运行我的php代码时出现此错误!我需要做些什么才能修复它?

  

注意:未定义索引:C:\ xampp \ htdocs \ Slamza \ login.php中的用户名   在第10行

     

注意:未定义的索引:C:\ xampp \ htdocs \ Slamza \ login.php中的密码   在第11行

我的代码是

    <?php

session_start();



$username = $_SESSION['username'];


$username = $_POST['username'];
$password = $_POST['password'];

include("connect.php");

if ($username && $password)

{


$queryget = mysql_query("SELECT * FROM users WHERE username='$username' AND     password='$password'");
$numrows = mysql_num_rows($queryget);
if ($numrows != 0) 

{


    $_SESSION['username'] = $username;

    echo "You have been logged in!";


}


else

{

    echo "You have not been logged in";

}





}

else

{

echo "You didn't provide the information needed to login";
include("index.php");

}

?>

4 个答案:

答案 0 :(得分:1)

由于您的代码已经在检查缺少的$username$password数据,因此您可以采取以下措施来保持相同的代码和执行流程

$username = isset($_SESSION['username']) ? $_SESSION['username'] : NULL;

$username = isset($_POST['username']) ? $_POST['username'] : $username;
$password = isset($_POST['password']) ? $_POST['password'] : NULL;

另外,正如其他人指出的那样,如果您要从表单提交此$_POST数据,则可能还需要检查$_POST["submitButtonName"]值。

答案 1 :(得分:0)

您需要使用isset检查提交按钮,然后使用isset检查用户名和密码的帖子。

因为你这样做了,所以你没有定义帖子数据。

答案 2 :(得分:0)

似乎没有将帖子信息发送到PHP脚本。您可以先检查以确保正在发送数据:

if( !isset( $_POST['username'] ) || !isset( $_POST['password'] ) ) die( "Incomplete data sent." );

但这只会检查数据是否已发送。您还可以print_r( $_POST )查看哪些变量发送到您的脚本。查看输入此数据的表单会很有用。也许您正在使用GET而不是POST,或者您的apache配置未正确设置以通过POST发送数据。

答案 3 :(得分:0)

始终检查表单是否已提交。为此目的使用isset()

if( isset($_POST['submitButton']) ){

if( !isset($_POST['username']) || !isset($_POST['password']) ) {
    echo "Please fill all the fields!";
}

请注意,submitButton这里是表单中输入按钮的name属性。

<input type="submit" name="submitButton"/>

希望这有帮助!