За последние 24 часа нас посетили 6606 программистов и 530 роботов. Сейчас ищут 194 программиста ...

php связь приложения swift и базы данных MySQL

Тема в разделе "MySQL", создана пользователем Мариано, 19 сен 2018.

  1. Мариано

    Мариано Новичок

    С нами с:
    19 сен 2018
    Сообщения:
    5
    Симпатии:
    0
    Можете проверить правильность документа?
     

    Вложения:

  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.151
    Симпатии:
    237
    Адрес:
    Татарстан
    Такой большой а копи-паст не освоил?
    Кому нафиг нужно чё-то с картинки проверять? Сформулируйте нормально вопрос,. Типа сделал то и чё - не работает
     
  3. MouseZver

    MouseZver Старожил

    С нами с:
    1 апр 2013
    Сообщения:
    4.866
    Симпатии:
    784
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. error_reporting ( E_ALL );
    4.  
    5. use Aero\Supports\Lerma;
    6.  
    7. require 'autoload.php';
    8.  
    9. if ( filter_input ( INPUT_SERVER, 'REQUEST_METHOD' ) === 'POST' )
    10. {
    11.     header ( 'Content-type: application/json' );
    12.  
    13.     $filter = filter_input_array ( INPUT_POST, [
    14.         'LOGIN' => FILTER_DEFAULT,
    15.         'PASS' => FILTER_DEFAULT
    16.     ] );
    17.  
    18.     $error = [];
    19.  
    20.     if ( in_array ( null, $filter, 1 ) )
    21.     {
    22.         $error['undefined'] = 'Undefined inputs name';
    23.     }
    24.  
    25.     if ( ( $lerma = Lerma :: prepare( 'SELECT * FROM `servisniki` WHERE `LOGIN` = ? AND `PASS` = ?', $filter ) ) -> rowCount() < 1 )
    26.     {
    27.         $error['id'] = 'User is not found';
    28.     }
    29.  
    30.     if ( $error != [] )
    31.     {
    32.         exit ( json_encode ( [ 'error' => $error ] ) );
    33.     }
    34.  
    35.     echo json_encode ( $lerma -> fetchAll( Lerma :: FETCH_ASSOC ), JSON_UNESCAPED_UNICODE );
    36. }
    https://github.com/MouseZver/McBanner/blob/master/Aero/Configures/Lerma.php
     

    Вложения:

    • 72756.zip
      Размер файла:
      14,4 КБ
      Просмотров:
      2
  4. Мариано

    Мариано Новичок

    С нами с:
    19 сен 2018
    Сообщения:
    5
    Симпатии:
    0
    Разрабатываю приложение под ios, в xcode на swift, в этом приложении я ввожу пароль и логин, они у меня должны придти на сервер, через файл php провериться с логином и паролем в mysql, найти в табличке совпадение и выдать мне всю информацию по пользователю к которому првязаны этот логин и пароль. Вот я и прошу проверить правильно ли написана серверная часть
    --- Добавлено ---
    а короче никак? уж больно как то заморочено)
     
  5. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    424
    Симпатии:
    23
    Да там длиньше надо, на 30 строчке скопировать if и вставить еще на 24 что-бы лишний раз база не запрашивалась, таковы серверные технологии :)
     
  6. MouseZver

    MouseZver Старожил

    С нами с:
    1 апр 2013
    Сообщения:
    4.866
    Симпатии:
    784
    Адрес:
    Лень
    Не правильно, достаточно в 24 строке else добавить
     
  7. Мариано

    Мариано Новичок

    С нами с:
    19 сен 2018
    Сообщения:
    5
    Симпатии:
    0
    require'autoload.php'; вот этот файл зачем нам нужно вызывать
     
  8. MouseZver

    MouseZver Старожил

    С нами с:
    1 апр 2013
    Сообщения:
    4.866
    Симпатии:
    784
    Адрес:
    Лень
    Название файла само о себе и говорит. Автозагрузка классов знаем ?
     
  9. Мариано

    Мариано Новичок

    С нами с:
    19 сен 2018
    Сообщения:
    5
    Симпатии:
    0
    @page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.25cm; line-height: 115%; background: transparent }

    <?php

    $link = mysqli_connect("localhost", "root", "jkvgvkuhb", "local_test");



    /* проверка соединения */

    if (mysqli_connect_errno()) {

    printf("Соединение не удалось: %s\n", mysqli_connect_error());

    exit();

    }



    if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    if (isset($_POST['LOGIN'])) {

    $teamLOGIN = $_POST['LOGIN'];

    }

    if (isset($_POST['PASS'])) {

    $memberPASS = $_POST['PASS'];

    }


    $query = "SELECT * FROM `servisniki` WHERE `LOGIN` = '$teamLOGIN' AND `PASS` = '$memberPASS'";



    if ($result = mysqli_query($link, $query)) {



    /* извлечение ассоциативного массива */

    while ($row = mysqli_fetch_assoc($result)) {

    $output[] = $row;

    echo json_encode($output);

    }



    /* удаление выборки */

    mysqli_free_result($result);

    }

    }



    /* закрытие соединения */

    mysqli_close($link);

    ?>
     
  10. MouseZver

    MouseZver Старожил

    С нами с:
    1 апр 2013
    Сообщения:
    4.866
    Симпатии:
    784
    Адрес:
    Лень
    мне лень писать об твоих слабостях, выраженных в коде
     
  11. Мариано

    Мариано Новичок

    С нами с:
    19 сен 2018
    Сообщения:
    5
    Симпатии:
    0
    Будте добры, напишите пожалуйста
     
  12. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.151
    Симпатии:
    237
    Адрес:
    Татарстан
    отсутствие защиты от SQL инъекций, не предусмотрены варианты - когда логин или пароль пустые,
    хранение паролей в исходном виде в БД, итд итп....
    при любой ошибке - нет коннекта с бд, или еще чего - будет отдаваться не json а ваше приложение вылетать от такой неожиданности