У меня есть ресурсы API pu sh. php, которые я использую для мобильного приложения, для которого требуется приложение для отправки POST-данных, чтобы получить ответ. Сейчас мобильные приложения завершены, и сейчас я работаю на сайте того же приложения. Вместо того, чтобы писать код снова, я хотел бы использовать созданные мной API-вызовы, которые находятся на том же сервере.
Моя регистрационная форма находится в папке root (root / index. php). Мой вызов API для регистрации находится в папке API (root / API / pu sh. php). Я хочу отправить данные формы с помощью POST и успешно извлечь данные JSON из pu sh. php. Проблема находится между отмеченными комментариями.
ROOT / index. php
<!DOCTYPE html>
<html>
<head>
<title>Sign Up</title>
</head>
<body>
<h2>Register User</h2>
<form name="signup" method="post" action="signup.php">
<center><img src="images/logo.png" width="150"></center>
<input type="text" name="username" placeholder="username"><br>
<input type="password" name="password" placeholder="password"><br>
<input type="submit" value="Sign Up!">
</form>
<h1>
<?php
if (!empty($_POST)) {
if (isset($_POST['username']) && isset($_POST['password'])) {
$output = NULL;
$username = $_POST['username'];
$username = $_POST['password'];
//********************************************
//Send values to API and receive output in JSON
$JSON = getResponseFromAPIbyPOST($username, $password);
//********************************************
$output = json_decode($JSON);
if ($output->response == "SUCCESS") {
echo "Registration Successful!";
} else {
echo "Registration Failed!";
}
}
}
?>
</h1>
</body>
</html>
ROOT / API / pu sh. php
error_reporting(E_ALL);
header('Content-Type: application/json');
include 'includes/dbcon.class.php';
$dbcon = new dbcon;
$conn = $dbcon->connect();
// Set Action
if (isset($_POST['action'])) {
$action = $_POST['action'];
} else {
$action = NULL;
}
// Check if API call is valid
if ($action == "register") {
$output = new stdClass();
if (isset($_POST['username']) && isset($_POST['password'])) {
$username = mysqli_escape_string($_POST['username']);
$password = mysqli_escape_string($_POST['password']);
$sql = "INSERT INTO dbuser(vuser,vpass) VALUES ('{$username}','{$password}') ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$output->data = "USER_CREATED";
$output->response = "SUCCESS";
echo json_encode($output, JSON_PRETTY_PRINT);
} else {
$output->data = "SQL Error $conn->errno : $conn->error";
$output->response = "FAIL";
echo json_encode($output, JSON_PRETTY_PRINT);
}
} else {
$output->data = "INVALID_ARGUMENTS";
$output->response = "FAIL";
echo json_encode($output, JSON_PRETTY_PRINT);
}
} else {
$output->data = "INVALID";
$output->response = "FAIL";
echo json_encode($output, JSON_PRETTY_PRINT);
}
ВЫХОД
{
"data": "USER_CREATED",
"response": "SUCCESS"
}
если вы посмотрите на индекс. php между отмеченными комментариями комментариями, я пытаюсь выяснить, что Я могу использовать здесь функцию >> getResponseFromAPIbyPOST ($ username, $ password) , которая получит мне ответ и сохранит его в переменной $ JSON.
Что правильно php функция для достижения этой цели?
Сервер использует HTTPS