Ответы пользователя по тегу PHP
  • Как правильно отправить cURL запрос на апишку?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    А вы в принципе читали описание, которое сами приложили? :)
    необходимо передать действие add, секретный ключ и параметры добавляемого пользователя

    Ни действия "add", ни ключа в запросе нет.

    Зато зачем-то есть поддержка cookie, которая в API не нужна.

    Видимо вам надо что-то такое:

    function so_payment_complete($order_id)
    {
        $order = wc_get_order($order_id);
        $user = $order->get_user();
    
        $data = $order->get_data();
        $name = $data['billing']['first_name'];
        $phone = $data['billing']['phone'];
        $email = $data['billing']['email'];
    
        $params = [
            'name' => $name,
            'phone' => $phone,
            'email' => $email,
            'group_name' => [
                'group'
            ]
        ];
    
        $key = "uAjAactnIFjpyQ71czuzWrKgfXyLdSGqJ9DZYvL0lFsxcdiDv3YVZlHQZ1ZyRpJKyFrOEv9z62VgBBHgCg0Rwo63PWIQuTM5RSxdxjV5bB1Ukptz3h0i9jVA2Cso1L9O";
    
        $postdata = [
            'action' => 'add',
            'key' => $key,
            'params' => $params,
        ];
    
        $curl = curl_init('https://nolimitst.getcourse.ru/pl/api/users/');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36');
    
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
    
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    
        curl_exec($curl);
    }
    Ответ написан
    Комментировать
  • Какой есть инструмент для формирования и централизованного хранения документации по исходному коду?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Советую посмотреть в сторону Swagger и ReDoc.

    Если кратко:

    всю документацию пишешь в одном json-файле в формате Swagger-OpenAPI.
    Затем пишешь коротенькую html, которая подцепляет ReDoc и скармилвает ему твой json. Далее это всё превращается в красивые доки. Пример html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <title>My API</title>
        <meta charset="utf-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="robots" content="noindex,nofollow" />
        <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">
        <style>
            body {
                margin: 0;
                padding: 0;
            }
        </style>
    </head>
    <body>
    <script>
        <redoc spec-url="my-api.json"></redoc>
    </script>
    <script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
    </body>
    </html>
    Ответ написан
  • Как записать данные из форм на разных страницах в одну строку БД?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Как вариант - не сохранять ничего в базу пока не пройдут все шаги.
    Между шагами сохранять данные либо в сессии, либо на клиенте.
    Ответ написан
    Комментировать
  • Как проверить referrer?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    https://infogalactic.com/info/List_of_Google_domains

    Выдёргиваете домен из $_SERVER['HTTP_REFERER'] с помощью parse_url() и проверяете, что он принадлежит гуглу. Либо забиваете список всех доменов, либо регуляркой.
    Ответ написан
    Комментировать
  • Не могу подключить бд?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Да просто опечатался где-то. Вместо ->query() написал ->jquery().
    jQuery вообще никак не связан с PHP и PDO.
    Ответ написан
  • Как из этого json взять recorded_audio?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    $json = '[{"action_type": null, "button_num": null, "call_id": 20110440096793, "created": "2020-11-04T14:19:03.870Z", "dial_status": 1, "dial_status_display": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u0430", "phone": "+79374080780", "recorded_audio": "https://zvonok.com/directcdr/6b98300086400a0746554...", "status": "attempts_exc", "status_display": "\u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438\u0441\u044c", "updated": "2020-11-04T14:19:26.955Z", "completed": "2020-11-04T14:19:14.006Z", "user_choice": null, "user_choice_display": null, "duration": 0.0, "audioclip_id": null, "ivr_data": null, "cost": "0", "currency": "RUB"}]';
    $records = json_decode($json, true);
    $audio = $records[0]['recorded_audio']
    Ответ написан
    2 комментария
  • Как слить два массива?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Исходные массивы:
    $a = [
        [
            'name' => 'Название 1',
            'price' => 140,
        ],
        [
            'name' => 'Название 2',
            'price' => 140,
        ]
    ];
    
    $b = [2, 10];


    PHP 7.4+
    $result = array_map(fn($item, $qty) => $item + ['quantity' => $qty], $a, $b);


    PHP <=7.3
    $result = array_map(function ($item, $qty) {
        return $item + ['quantity' => $qty];
    }, $a, $b);
    Ответ написан
    Комментировать
  • Как составить регулярку для удаленя блока?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    <script src="[^"]+listen-player.js" crossorigin="anonymous"></script>
    Ответ написан
    Комментировать
  • Как правильно перебрать массив?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Вопрос и код - конечно лютая каша.

    Решение такое:

    while ($arItem = $res->Fetch()) {
        $price[] = $arItem['PRODUCT_ID'];
    }
    Ответ написан
    Комментировать
  • Что нужно учить, чтобы стать php разработчиком и работать на upwork?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    php5, php7, Laravel/Yii/Slim/Symfony/Zend, jQuery, MySQL, Highload, Computer Science, Redis, ElasticSearch, NodeJS, nginx, apache, AWS, memcache, unix, RESTful APIs, Payment intergration....
    Также не помешает AngularJS, VueJS, ReactJS, MSSQL, PostgreSQL, Oracle SQL, ES6...

    Ну это для начала.
    Сверху ещё нужно добавить опыта работы, глубоко понимания, как работает язык и как писать оптимальные программы, умение продавать себя, умение качественно выполнять свою работу...

    В общем, смотри, что умеют те, кто зарабатывает больше тебя, и делай так же.
    Ответ написан
    4 комментария
  • Актуальна ли ниша PHP на Upwork?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Актуальна более чем. Заказов тьма на любой уровень и кошелек. Отклики зависят только от ваших способностей и раскрученности профиля. Если с этим всё в порядке, то работы больше чем вы сможете сделать )
    Индусов много, но они не конкуренты, когда заказчик ищет профессионала.
    Ответ написан
    Комментировать