Как исправить ошибку CORS, возникшую с помощью почтового метода PHP

Я пытаюсь сохранить некоторые данные в базе данных mysql, используя метод публикации PHP для приложения для Android. Данные могут быть сохранены из службы POSTMAN с необработанным телом данных. Но из приложения для Android он возвращает ошибку CORS.

Я добавляю некоторые заголовки в свой код, но все равно результат тот же

<?php

include 'dbconnect.php';




if (isset($_SERVER["HTTP_ORIGIN"]) === true) {
    $origin = $_SERVER["HTTP_ORIGIN"];
    $allowed_origins = array(
        "http://www.my-domain.com"
    );
    if (in_array($origin, $allowed_origins, true) === true) {
        header('Access-Control-Allow-Origin: ' . $origin);
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Allow-Methods: POST');
        header('Access-Control-Allow-Headers: Content-Type');
    }
    if ($_SERVER["REQUEST_METHOD"] === "OPTIONS") {
        exit; // OPTIONS request wants only the policy, we can stop here
    }
}

$str_data = file_get_contents('php://input');
$data = json_decode($str_data,true);

$cur_date       = date('Y-m-d');
$title       = $data["note"]["title"];
$description = $data["note"]["description"];
$deviceId    = $data["note"]["deviceid"];
$companyId   = $data["note"]["companyId"];

$sql = mysqli_query($db, "INSERT INTO notes (deviceId, companyId, title, description, createdDate) VALUES ('$deviceId', '$companyId', '$title', '$description', '$cur_date')");

if ($sql)
{
    echo json_encode("Success");
}
else
{
    echo json_encode("Error!!");
}

Мне нужно сохранить эти данные в базу данных без ошибки CORS

Что вы пытались отладить эту проблему? Где сообщение об ошибке?

Nico Haase 25.07.2019 12:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
1 469
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

измените свой код следующим образом

header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');

include 'dbconnect.php';

    $str_data = file_get_contents('php://input');
    $data = json_decode($str_data,true);


    $echo = $data->echo;

    if (strcmp($echo, "") != 0) {
      $requestType = "POST";
      $format = "application - json";
    }


    $cur_date       = date('Y-m-d');
    $title       = $data["note"]["title"];
    $description = $data["note"]["description"];
    $deviceId    = $data["note"]["deviceid"];
    $companyId   = $data["note"]["companyId"];

    $sql = mysqli_query($db, "INSERT INTO notes (deviceId, companyId, title, description, createdDate) VALUES ('$deviceId', '$companyId', '$title', '$description', '$cur_date')");

Пожалуйста, добавьте пояснения о том, что вы изменили и почему

Nico Haase 25.07.2019 12:08

Другие вопросы по теме