PHP回应空的post数组,即使在使用params时也是如此

时间:2017-08-04 08:44:24

标签: php amazon-web-services post amazon-ec2 http-post

我是php的新手,我正在尝试为我的移动后端创建一个REST API。我使用aws EC2并在我的EC2实例上存储了以下php文件。但无论如何,这是代码:

<?php include "FILE WITH DB INFO"; ?>
<?php

$connection = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);

if (mysqli_connect_errno()) echo "Failed to connect to MySQL" . mysqli_connect_error();

$database = mysqli_select_db($connection, DB_DATABASE);

$user_username = $_POST['username'];
$user_name = $_POST['name'];
$user_email = $_POST['email'];

echo "BEFORE --- ";
var_dump($_POST);
echo "AFTER";

if (strlen($user_username) || strlen($user_name) || strlen($user_email)) {
    AddUser($connection, $user_username, $user_name, $user_email);
}


function AddUser($connection, $username, $name, $email) {
    $u = mysqli_real_escape_string($connection, $username);
    $n = mysqli_real_escape_string($connection, $name);
    $e = mysqli_real_escape_string($connection, $email);

   $query = "INSERT INTO 'users' ('username', 'name', 'email') VALUES ('$u', '$n', '$e');";
    if(!mysqli_query($connection, $query)) echo("ERROR ADDING USER DATA");
}

function VerifyUsersTable($connection, $dbName) {
    if(!TableExists("users", $connection, $dbName))
    {
            $query = "CREATE TABLE 'users' (
            'name' varchar(255),
            'username' varchar(255),
            'email' varchar(255),
            PRIMARY KEY ('username')
            )";

   if(!mysqli_query($connection, $query)) echo("ERROR CREATING TABLE");
    }
}
echo "MADE IT";
?>

我的问题是var_dump($_POST);返回一个如下所示的空数组:array(0) { }。即使我传递三个这样的参数,也会发生这种情况: PARAMS: ?username=TestUser&name=TestName&email=TestEmail

实际使用的请求: http://my_ec2_instance/Test.php?username=TestUser&name=TestName&email=TestEmail

我做错了什么?

编辑:邮差画面的图片 POSTMAN SCREEN

3 个答案:

答案 0 :(得分:3)

此请求:

http://my_ec2_instance/Test.php?username=TestUser&name=TestName&email=TestEmail

GET请求,而不是POST

访问:$_GET['name']

答案 1 :(得分:1)

你应该使用$ _GET []。并打印所有$ _GET varaiables尝试:

print_r($_GET);

答案 2 :(得分:0)

我更喜欢使用$_REQUEST。 只需看看manual

并按照它进行访问,

$_REQUEST['username'], $_REQUEST['name'], $_REQUEST['email']