提问人:Ayden F 提问时间:10/6/2017 最后编辑:Ayden F 更新时间:10/6/2017 访问量:985
注意:未定义索引:用户名
Notice: Undefined index: username
问:
运行此代码时,我不断收到“注意:未定义的索引:用户名”。
注意:未定义索引:/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);
}
答:
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,那么系统总是得到空值。他需要对此有所了解
评论
echo "<pre>"; print_r($_GET);