Как передать данные из приложения React Native в сценарий PHP?

Я использую этот код для передачи переменной userName ...

return fetch('http://creat1vedesign.com/userTabs4.php', {
  method: 'POST',
  headers: {
    Accept: 'application/json',
            'Content-Type': 'application/json',
  },
}, {
  body: JSON.stringify({
      userName: 'carolf'
  }),

... к этому скрипту php ...

<?php
include 'DBConfig.php';
$con = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
    $json = file_get_contents('php://input');
    $obj = json_decode($json,true);
    $userName = $obj['userName'];
$sql = "select * from Users where userName = '$userName'";
if ($result = mysqli_query($con,$sql)) { 
 while($row[] = $result->fetch_assoc()) {
    $tem = $row;
    $json = json_encode($tem);
 }
} else {
 echo "No Results Found.";
}
 echo $json;
$conn->close();
?>

... для получения данных по определенным критериям. Но либо React Native не отправляет данные, либо скрипт php не получает их, либо синтаксис неверен, либо я делаю что-то еще не так :(

Есть предположения?

Вам не нужен цикл while, и ваш запрос открыт для атак с использованием SQL-инъекций. Получаете ли вы какие-либо сообщения об ошибках, помимо этого?

Devon 13.11.2018 19:07

Не уверен, что это решит вашу проблему, но я бы рекомендовал использовать $con->query($sql) в вашем операторе if, потому что вы смешиваете процедурные mysqli и oop mysqli.

Solomon Antoine 13.11.2018 19:36

Не могли бы вы опубликовать полную загрузку, пожалуйста?

schogges 13.11.2018 19:41

вы можете использовать var_dump ($ _ POST), чтобы узнать, что php получает от вашего приложения реакции.

Roger Russel 13.11.2018 19:46

нет сообщения об ошибке ... Я просто не получаю никакого результата от выбора ... изменение на $ con-> query ($ sql) не помогло

Carlos Teixeira 13.11.2018 19:58

полная загрузка на моем pastebin: pastebin.com/0cxQasd9

Carlos Teixeira 13.11.2018 20:00

Сначала проверьте свой сервер на наличие CORS-домена. Я попытался разместить сообщение на вашем URL-адресе, но он блокирует доступ к CORS; Во-вторых, попробуйте использовать функцию публикации Ajax или Jquery в своем браузере, чтобы проверить свой запрос.

meetnick 13.11.2018 20:15
Стоит ли изучать 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
7
1 013
1

Ответы 1

Вы можете передать параметры сценарию PHP в URL-адресе выборки, добавив их после символа '?' нравится:

fetch("http://creat1vedesign.com/userTabs4.php?userName=carolf",{
        method:'POST',
        headers:{
          'Accept': 'application/json',
          'Content-Type': 'application/json',
        },
      })

      .then( (response) => {
            return response.json() })   
                .then( (json) => {
                    console.info(json)
                });

Просто не забудьте включить $ _GET в свой php-скрипт:

<?php

$userName= $_GET["userName"];

include 'DBConfig.php';
$con = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
$json = file_get_contents('php://input');
$obj = json_decode($json,true);

$sql = "select * from Users where userName = '$userName'";
if ($result = mysqli_query($con,$sql)) { 
 while($row[] = $result->fetch_assoc()) {
    $tem = $row;
    $json = json_encode($tem);
 }
} else {
 echo "No Results Found.";
}
 echo $json;
$conn->close();
?>

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