duandeng2265 2017-08-04 08:44
浏览 137
已采纳

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

I am very new to php and am trying to create a REST API for my mobile backend. I'm using aws EC2 and have stored the following php file on my EC2 instance. But anyway, here is the code:

<?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";
?>

My issue is that the var_dump($_POST); returns an empty array that looks like this: array(0) { }. This occurs even when I pass it three parameters like this: params: ?username=TestUser&name=TestName&email=TestEmail

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

What am I doing wrong?

EDIT: picture of postman screen POSTMAN SCREEN

  • 写回答

3条回答 默认 最新

  • doutang7415 2017-08-04 08:47
    关注

    This request:

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

    is a GET request, not POST.

    Access it by: $_GET['name']

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘