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

时间:2017-10-06 05:30:51

标签: php sql undefined isset undefined-index

运行此代码时,我不断收到“通知:未定义索引:用户名”。

  

注意:未定义的索引:/public_html/handler.php中的用户名   7

     

注意:未定义的索引:/public_html/handler.php中的密码   8

     

注意:未定义的索引:第9行的/public_html/handler.php中的hwid

<?php

include('db.php');

$action = $_GET['action'];

$username = $con->real_escape_string($_GET['username']);
$password = $con->real_escape_string(md5(md5(md5($_GET['password']))));
$hwid = $con->real_escape_string($_GET['hwid']);
$invite_code = $con->real_escape_string($_GET['invite_code']);

$logged = false;

if(!$action)
{
    echo "Error";
}
else
{   
if($action == "register_admin_xd")
{
    if($query = $con->query("INSERT INTO users (username,password) VALUES 
('$username','$password')"))
    {
        echo "1";
    }
    else
    {
        echo "0";
    }
}

这是db.php     

$host = "dbhostname";
$user = "dbusername";
$pass = "dbpassword";
$data = "database";

$con = new mysqli($host, $user, $pass, $data);

if($con->connect_errno)
{
printf("Connect failed: %s\n", $con->connect_error);
}

2 个答案:

答案 0 :(得分:4)

更新代码

首先检查$_GET是php中的!empty函数

$username = !empty($_GET['username']) ? $con->real_escape_string($_GET['username']) : '';
$password = !empty($_GET['password']) ? $con->real_escape_string(md5(md5(md5($_GET['password'])))) : '';
$hwid = !empty($_GET['hwid']) ? $con->real_escape_string($_GET['hwid']) : '';
$invite_code = !empty($_GET['invite_code']) ? $con->real_escape_string($_GET['invite_code']) : '';

答案 1 :(得分:-1)

你没有在url中发送用户名,密码和hwid,这就是为什么它只显示错误而不是for action和invite_code。 可能是您正在创建错误的网址,或者您在网址中有用户名,密码和hwid的空值