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