Отклонение необработанного обещания: SyntaxError: Ошибка синтаксического анализа JSON: нераспознанный токен '<'

Я новичок в React Native. У меня есть страницы входа и регистрации, которые работают хорошо. После того, как пользователь вошел в систему, на странице профиля должно отображаться приветствие + его имя. Я написал код фронтенда и бэкенда, но что-то не работает.

Profile.js

export default class Profil extends React.Component {

constructor(props){
super(props);
this.state = {name:''}
};

componentWillMount(){
  return this.getUser();
}

getUser(){
  return fetch('https://lifestormweb.000webhostapp.com/profile.php',{
  method:'GET',
  headers:{
          'Accept':'application/json',
          'Content-Type':'application/json',
      }
  })
  .then((response)=>response.json())
  .then((response) => this.setState({
  name: response.name})
  )
  }

  render() {
return (
  <View>
    <Header
      centerComponent = {{ text: 'Profil', style: { color: '#FF0000', fontSize: 20, fontWeight: 'bold' } }}
      outerContainerStyles = {{ backgroundColor: '#ffffff' }}
    />
    <Text>Willkommen {this.state.name}</Text>
  </View>
);
}

profile.php

<?php
$dbservername = "id6354774_users";
$dbusername = "id6354774_root";
$dbpassword = "*********";
$dbname = "localhost";

// Create connection
$conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$post_name = mysqli_real_escape_string($conn, $_POST['name']);
$sql = "SELECT * FROM UserRegistrationTable WHERE name='$post_name'";
$result = $conn->query($sql);

$conn->close();
?> 
ПРЕДУПРЕЖДЕНИЕ: при использовании mysqli вы должны использовать параметризованные запросы и bind_param для добавления пользовательских данных в свой запрос. НЕ использует для этого строковую интерполяцию или конкатенацию, потому что вы создали серьезный Ошибка SQL-инъекции. НИКОГДА помещает пользовательские данные $_POST, $_GET или любой непосредственно в запрос, это может быть очень вредно, если кто-то попытается воспользоваться вашей ошибкой.
tadman 31.07.2018 21:07

Примечание. Объектно-ориентированный интерфейс mysqli значительно менее подробен, что упрощает чтение и аудит кода, и его нелегко спутать с устаревшим интерфейсом mysql_query. Прежде чем вы слишком увлечетесь процедурным стилем, стоит переключиться на него. Пример: $db = new mysqli(…) и $db->prepare("…"). Процедурный интерфейс является артефактом эпохи PHP 4, когда был представлен API mysqli, и его не следует использовать в новом коде.

tadman 31.07.2018 21:07

Ваш PHP-код извлекает данные, а затем выводит ... ничего. Предположительно вы хотите выгрузить некоторые данные JSON с помощью json_encode?

tadman 31.07.2018 21:07
ПРЕДУПРЕЖДЕНИЕ: Написать свой собственный уровень контроля доступа непросто, и есть много возможностей сделать это совершенно неправильно. Пожалуйста, не пишите свою собственную систему аутентификации, если любой современный рамки разработки, такой как Laravel, имеет встроенный надежный система аутентификации. По крайней мере, следуйте рекомендуемые лучшие практики безопасности и никогда не храните пароли в виде простого текста или слабому хешу, например SHA1 или MD5.
tadman 31.07.2018 21: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
4
1 192
0

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