За последние 24 часа нас посетили 15750 программистов и 1664 робота. Сейчас ищут 810 программистов ...

Помогите найти ошибку в коде

Тема в разделе "PHP для новичков", создана пользователем IgoryanVL, 29 мар 2018.

  1. IgoryanVL

    IgoryanVL Новичок

    С нами с:
    29 мар 2018
    Сообщения:
    12
    Симпатии:
    0
    Всем привет.
    Задача: отправлять ID заказов из формы и получать ответ по статусам.
    Однако код не работает (не могу найти в чем ошибка и как исправить) .
    Вот что говорит проверка синтаксиса: http://prntscr.com/ixxjqu
    Прошу помощи! Буду крайне признателен!
    Код:
    Код (Text):
    1. <?php if (!empty($_POST)) {
    2.     send_the_order ($_POST);
    3. }
    4. function send_the_order ($post){
    5. $data = array (
    6.     'orders' => array(12345, 12346, 12347), // список id заказов
    7.     'api_key' => '123123123', // индивидуальный ключ
    8. );
    9.  
    10. if ($curl = curl_init())
    11. {
    12.     curl_setopt($curl, CURLOPT_URL, 'http://www.money4leads.org/status/get_is_payed.php');
    13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    14.     curl_setopt($curl, CURLOPT_POST, true);
    15.     curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    16.     $result = curl_exec($curl);
    17.     curl_close($curl);
    18. }
    19.  
    20.  
    21. Рузультаты
    22. {
    23.     "orders": [
    24.         {
    25.             "orderId": "12345",
    26.             "status": "отправлен"
    27.         },
    28.         {
    29.             "orderId": "12346",
    30.             "status": "не выкуп"
    31.         },
    32.         {
    33.             "orderId": "12347",
    34.             "status": "выкуп"
    35.         }
    36.     ],
    37.     "status": true
    38. }
    39. }
    40. ?>

    --- Добавлено ---
    Так тоже не работает :(
    Код (Text):
    1. <?php if (!empty($_POST)) {
    2.     send_the_order ($_POST);
    3. }
    4. function send_the_order ($post){
    5.     data = array (
    6.     'orders' => $post['orders'],//  id заказа
    7.     'api_key' => '123123123', // индивидуальный ключ
    8. );
    9.  
    10. if ($curl = curl_init())
    11. {
    12.     curl_setopt($curl, CURLOPT_URL, 'http://www.money4leads.org/status/get_is_payed.php');
    13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    14.     curl_setopt($curl, CURLOPT_POST, true);
    15.     curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    16.     $result = curl_exec($curl);
    17.     curl_close($curl);
    18. }
    19.  
    20.  
    21. Рузультаты
    22. {
    23.     "orders": [
    24.         {
    25.             "orderId": "12345",
    26.             "status": "отправлен"
    27.         },
    28.         {
    29.             "orderId": "12346",
    30.             "status": "не выкуп"
    31.         },
    32.         {
    33.             "orderId": "12347",
    34.             "status": "выкуп"
    35.         }
    36.     ],
    37.     "status": true
    38. }
    39. }
    40. ?>
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Что это за оператор или функция в PHP под названием "Рузультаты", после которых еще идет непойми что?
    Вы посреди исполняемого кода просто текст вбросили и удивляетесь, почему код не исполняется :)

    В комментарии оберните ваши рузультаты, чтоли :)

    Перед ними поставьте /*, а после них */. Все, что будет между этими конструкциями, будет игнорироваться и не сломает ваш код.
     
  3. IgoryanVL

    IgoryanVL Новичок

    С нами с:
    29 мар 2018
    Сообщения:
    12
    Симпатии:
    0
    Спасибо. Но теперь ругается на следующую строку - http://prntscr.com/ixy351
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Эхехе....

    Я вот что имел ввиду:

    PHP:
    1. <?php if (!empty($_POST)) {
    2.     send_the_order ($_POST);
    3. }
    4. function send_the_order ($post){
    5.     data = array (
    6.     'orders' => $post['orders'],//  id заказа
    7.     'api_key' => '123123123', // индивидуальный ключ
    8. );
    9.  
    10. if ($curl = curl_init())
    11. {
    12.     curl_setopt($curl, CURLOPT_URL, 'http://www.money4leads.org/status/get_is_payed.php');
    13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    14.     curl_setopt($curl, CURLOPT_POST, true);
    15.     curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    16.     $result = curl_exec($curl);
    17.     curl_close($curl);
    18. }
    19.  
    20. /*
    21. Рузультаты
    22. {
    23.     "orders": [
    24.         {
    25.             "orderId": "12345",
    26.             "status": "отправлен"
    27.         },
    28.         {
    29.             "orderId": "12346",
    30.             "status": "не выкуп"
    31.         },
    32.         {
    33.             "orderId": "12347",
    34.             "status": "выкуп"
    35.         }
    36.     ],
    37.     "status": true
    38. }
    39. */
    40. }
    41. ?>
    --- Добавлено ---
    Вам нужно изучить хотя бы основы PHP, иначе вы далеко не уедете так.
     
  5. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    так вопервых написано само слово с ошибокой)
    дальше я не понимаю что это?

    PHP:
    1. Рузультаты
    2. {
    3.     "orders": [
    4.         {
    5.             "orderId": "12345",
    6.             "status": "отправлен"
    7.         },
    8.         {
    9.             "orderId": "12346",
    10.             "status": "не выкуп"
    11.         },
    12.         {
    13.             "orderId": "12347",
    14.             "status": "выкуп"
    15.         }
    16.     ],
    17.     "status": true
    18. }
    19. }
    как тебе сказали выше закоментируй его
    сделай вот так вот
    PHP:
    1. /*Рузультаты
    2. {
    3.     "orders": [
    4.         {
    5.             "orderId": "12345",
    6.             "status": "отправлен"
    7.         },
    8.         {
    9.             "orderId": "12346",
    10.             "status": "не выкуп"
    11.         },
    12.         {
    13.             "orderId": "12347",
    14.             "status": "выкуп"
    15.         }
    16.     ],
    17.     "status": true
    18. }
    19. }*/
    --- Добавлено ---
    + еще если ты ждешь какой нить вывод на экран от это функции send_the_order
    то так короче я незнаю что твой код делает
    но вот скопируй он рабочий
    PHP:
    1. if (!empty($_POST)) {
    2.         $res = send_the_order ($_POST);
    3.         var_dump($res);
    4.     }
    5.     function send_the_order ($post){
    6.         data = array (
    7.         'orders' => $post['orders'],//  id заказа
    8.         'api_key' => '123123123', // индивидуальный ключ
    9.         );
    10.  
    11.         if ($curl = curl_init())
    12.         {
    13.             curl_setopt($curl, CURLOPT_URL, 'http://www.money4leads.org/status/get_is_payed.php');
    14.             curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    15.             curl_setopt($curl, CURLOPT_POST, true);
    16.             curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    17.             $result = curl_exec($curl);
    18.             curl_close($curl);
    19.         }
    20.         return $result;
    21.     }  
    --- Добавлено ---
    я допилил что бы можно было смотреть результат если что то он выводит. по твоей логике понял что в рузультаты должен быть результат вот этот
    PHP:
    1.  $result = curl_exec($curl);
     
  6. IgoryanVL

    IgoryanVL Новичок

    С нами с:
    29 мар 2018
    Сообщения:
    12
    Симпатии:
    0
    @Dron-Boy спасибо!
    Ругается на строку
    Код (Text):
    1.  data = array (
    Функционал должен из формы забирать ID заказа и с сервера узнавать его статус "Доставлен, В ожидании и т.п." и выводить результат на экран.
    Помогите пожалуйста допилить.
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    $

    Bydfkblyjcnm 3 uhegs
     
  8. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    блин проебал не увидил косяк с переменной
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    @IgoryanVL, уважаемый, а может во фриланс?
     
  10. IgoryanVL

    IgoryanVL Новичок

    С нами с:
    29 мар 2018
    Сообщения:
    12
    Симпатии:
    0
    Итак, на данный момент код имеет такой вид:
    Код (Text):
    1. <?php if (!empty($_POST)) {
    2.         $res = send_the_order ($_POST);
    3.         var_dump($_POST);
    4.     }
    5.     function send_the_order ($post){
    6.         $data = array (
    7.         'orders' => $post['orders'],//  id заказа
    8.         'api_key' => '123123', // индивидуальный ключ заменил с целью безопасности
    9.         );
    10.         if ($curl = curl_init())
    11.         {
    12.             curl_setopt($curl, CURLOPT_URL, 'http://www.money4leads.org/status/get_is_payed.php');
    13.             curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    14.             curl_setopt($curl, CURLOPT_POST, true);
    15.             curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    16.             $result = curl_exec($curl);
    17.             curl_close($curl);
    18.         }
    19.         return $result;
    20.     }
    21. ?>
    Данные шлю из формы:
    Код (Text):
    1.  <form action="status.php" method="POST">
    2.  
    3.                     <div class="row">
    4.                         <label for="name"><b>ID заказов</b> <br>Пример: 12345, 12346, 12347</label>
    5.                         <input id="orders" name="orders" type="text" class="newpole" required>
    6.                     </div>
    7.  
    8.                     <div class="line"></div>
    9.                     <div class="row align-center">
    10.                         <input type="submit" value="ЗАПРОСИТЬ СТАТУС">
    11.                     </div>
    12.  
    13.                 </form>
    На выходе получаю:
    array(1) { ["orders"]=> string(7) "4192983" }
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
  12. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Почему, в качестве отладочной информации выводите только $_POST, если интересует $res?