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

Notice: Undefined index: username

提问人:Ayden F 提问时间:10/6/2017 最后编辑:Ayden F 更新时间:10/6/2017 访问量:985

问:

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

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

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

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

<?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);
}
php sql 未定义 isset 未定义索引

评论

0赞 jophab 10/6/2017
url 是否传递了这些变量的值??
2赞 B. Desai 10/6/2017
PHP 的可能重复:“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”
0赞 Paritosh Mahale 10/6/2017
在第一行脚本中使用并共享打印在屏幕上的结果echo "<pre>"; print_r($_GET);
0赞 Ayden F 10/6/2017
@ParitoshMahale我得到数组 ( [action] => login3 [invite_code] => 1 )
0赞 Ayden F 10/6/2017
@jophab我使用这个php从我的数据库中提取

答:

4赞 Aman Kumar 10/6/2017 #1

更新代码

首先检查 $_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赞 Paritosh Mahale 10/6/2017 #2

您没有在 URL 中发送用户名、密码和 HWID,这就是为什么它只显示错误,而不是用于操作和invite_code。 可能是您创建了错误的 url,或者您在 url 中的用户名、密码和 hwid 的值为空

评论

0赞 Ayden F 10/6/2017
我想因为 Aman 给出了更直接的答案,所以我不能投反对票,所以是社区。
0赞 Paritosh Mahale 10/6/2017
我不确定,但如果您在评论中看到 $_GET 包含数组 ( [action] => login3 [invite_code] => 1 ) 如果他创建错误(没有用户名和密码值)url,那么系统总是得到空值。他需要对此有所了解