Невозможно вернуть данные из php, чтобы отреагировать

Здравствуйте, всякий раз, когда я пытаюсь вернуть данные из php для реагирования компонента, я получаю эту ошибку

Access to XMLHttpRequest at 'http://localhost/loginpage/src/components/login.php' from origin 'http://localhost:3005' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Login.js:25

Error: Network Error at createError (createError.js:17) at XMLHttpRequest.handleError (xhr.js:87)

когда я использую echo, я получаю данные, но не из операторов return или print_r.

Я использую SQL в качестве языка запросов и axios для отправки запроса.

Используемый метод:

handleClick(event){
  axios({
    method: 'post',
    url: 'http://localhost/loginpage/src/components/login.php',
    headers: { 'content-type': 'application/json' },
    data: this.state
  })
    .then(response => {
    console.info(response.data);
  })
  .catch(error => {
    console.info(error);
  });

    }

и мой файл php

<?php 

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
$data = json_decode(file_get_contents("php://input"), TRUE);

$username = $data['username'];
$password = $data['password'];

$host = 'localhost';
$dbname = 'users';
$user= 'root';
$pass = '';
$conn = new mysqli($host, $user, $pass);

// Checking connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$conn->select_db("userss");

$result = "SELECT * FROM UserDetail WHERE email='$username' AND password='$password';";

$datas = [];
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $a = {
            id:$row["id"],
            fname:$row["firstname"],
            lname:$row["lastname"],
            email:$row["email"]
        }
        array_push($datas, $a);
    }
    print_r($datas);
} else {
    echo "0 results";
}
$conn->close();
?>

Я не знаю, как использовать CORS, поэтому, пожалуйста, дайте мне ответ в виде кода, который я могу использовать или которым я могу заменить свой код. Кто-нибудь, пожалуйста, предоставьте хорошее решение. Я новичок в реакции.

Предупреждение: Вы широко открыты для SQL-инъекции и действительно должны использовать параметризованный Подготовленные отчеты вместо того, чтобы вручную создавать такие запросы. Тем более, что вы вообще не избегаете пользовательского ввода!
M. Eriksson 02.04.2019 07:39
Никогда не храните пароли в открытом виде!. Храните только хэши паролей! Используйте PHP password_hash() и password_verify(). Если вы используете версию PHP ниже 5.5 (а я надеюсь, что это не так, В самом деле), вы можете использовать библиотека password_compat, чтобы получить ту же функциональность.
M. Eriksson 02.04.2019 07:39
$a = {id: $row['id'], ...} недопустимый синтаксис PHP. Вот как вы создаете объекты в JavaScript, а не в PHP.
M. Eriksson 02.04.2019 07:41

пожалуйста, предоставьте ответ в виде кода, так как я не очень понимаю ответ, который вы говорите, что мой вопрос является дубликатом.

Adesh Kumar 02.04.2019 07:54

Тогда вам нужно сначала прочитать дубликат еще немного и попытаться понять его. Вы также можете прочитать о CORS во многих других местах в Интернете. В противном случае вы будете продолжать делать ту же ошибку. Теперь вопрос закрыт, к сожалению, никто не может добавить код ответа. Убедитесь, что вы понимаете, что такое предварительный запрос, и убедитесь, что ваш сервер обрабатывает его надлежащим образом — все заголовки CORS должны присутствовать в этом запросе, а также в основном заголовке.

ADyson 02.04.2019 08:22

@MagnusEriksson, пожалуйста, забудьте об этом. таким образом я пробовал это разными методами, поэтому код остался. Не отвечает даже простое "Привет"

Adesh Kumar 02.04.2019 08:23

по крайней мере то, что я делаю неправильно.

Adesh Kumar 02.04.2019 08:24

Дело в том, почему я получаю данные с помощью echo . Если это проблема CORS, я не должен получать даже эхо. Но я получаю

Adesh Kumar 02.04.2019 08:26
Стоит ли изучать 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
8
164
0

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