Задать вопрос
Ответы пользователя по тегу PHP
  • Как сделать форму Связи с пользователем?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На фронтенде пишете форму с нужными полями
    На бэкенде пишете скрипт принимающий данные из формы, + санитайз/валидэйт
    Чистые данные передаем в функцию отправки почты, можно mail(), но это не лучший способ, лучше использовать PHPMailer или другую библиотеку работы с почтой.
    Ответ написан
    Комментировать
  • Как можно реализовать проверку на админа?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) json_decode() по умолчанию вернет объект, чтобы получить массив нужно вторым параметром добавить true.
    2) Функция:
    а)называется is_admin(), а по факту определяет все что угодно.
    б) Возвращает не да/нет(что как бы должна), а 3 разных значения
    в) Третье значение false - пишется без кавычек, это булев тип данных.

    p.s я новичок в php
    Общие принципы которые здесь нарушены относятся к любому языку, не только к пхп.
    Ответ написан
    1 комментарий
  • Почему на почту приходят пустые прикрепленные файлы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    это ради чего такие героические попытки сожрать кактус? Нельзя взять готовый мэйлер и в 10 строк все без проблем отправить?
    Ответ написан
    Комментировать
  • Как организовать структуру самописного PHP проекта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    но как будет.. Правильнее? Выразительнее? Назови я её Classes, было бы.. Хм. Странно (для нэймспейса) App\Classes\DatabaseManager
    Правильнее все же разделить на Model/Controller/View, ибо это самый логичный с точки зрения жизненного цикла пхп способ (да и не только пхп). Все что работает с сущностями - модели, отображения в хтмл/хмл/жсон - вьюшки, конторллеры... ну - контроллеры собсно. Если у вас есть вещи базового характера - ДБ b прочие - как раз lib (так как они являются по сути "сторонними" приложениями /библиотеками, которые в процессе разработки практически не меняются).

    ├── config              # Для всех конфигов
    ├── public              # Для публичного контента
    │   └── index.php       # Точка входа
    ├── src                 # "App\" для автолоуда, непосредственно приложение
    │   ├─ Controllers 
    │   │   ├─SomeController.php
    ...
    │   ├─ Models
    │   │   ├─User.php
    ...
    │   ├─ Views
    │   │   ├─index
    │   │   │   ├─index.php
    ...
    │   ├─ Lib
    │   │   ├─DatabaseManager.php
    ...
    Ответ написан
    Комментировать
  • Как обработать входящий объект в phpmailer?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это у вас строчка в формате json, соответственно если хотите ее обрабатывать средствами пхп, преобразуйте в массив или объект пхп.
    json_decode()

    UPD: у вас скорее всего все нормально приходит, просто вы какие-то странные поля в $_POST ищете, отправляете selectmaterial, а ищете email и т.д. В коде перед присваиванием сделайте var_dump($_POST), и посмотрите что вам пришло.
    Ответ написан
    6 комментариев
  • Снова про кеширование запросов к БД, как сделать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    первое: WHERE `title` LIKE '%".$query."%' - уберите полный вайлдкард, LIKE '".$query."%'будет работать быстрее и использовать индекс, в отличие от первого варианта. У вас же не нужно выбирать "Калининград" по "град".

    Второе - индексы подлиннее на текстовые поля, там где помещается в варчар - делайте варчар с индексом. Тогда скорее всего кеш не понадобится.
    Ответ написан
  • Как парсить цены в выдаче авиабилетов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Но я ничего не смог найти относительно парсинга поисковой выдачи
    Поисковой выдачи откуда? С сайта-донора? Смотрите как происходит запрос в систему поиска, скорее всего тоже в запрос гет передаются параметры, но возможно и пост запросм отправляются, все это видно во вкладке нетворк в инструментах разработчика в любом современном браузере.
    Ответ написан
    Комментировать
  • Замена блока тегов в большом xml файле?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    в целях экономии памяти можно разбить файл на n (нет, на n мало, на m) файлов, каждый из которых обрабатывать отдельно, а затем склеить. В остальном Лентюй прав - хвост все равно отдельно лепить.
    Ответ написан
  • Как получить json из post-запроса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $str = $_POST.PHP_EOL; $_POST это массив, что вы к нему пытаетесь конкатенировать?
    элементарно проверить же, var_dump($_POST) и смотрите что пришло.
    Если тупо записать в файл -
    file_put_contents("result.txt", print_r($_POST,true));
    Ответ написан
    Комментировать
  • Переводчик с ограниченным словарем?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если не сложно, то подскажите как можно дописать определенные правила поставки и прочее. Например перед существительным в ед числе ставится une, un
    Увы, если бы это было не сложно и умещалось в размер ответа на тостере то такие библиотеки уже были бы весьма распространены. К сожалению, более-менее толковых решений в плане перевода, нет даже от гугла, хотя его переводчик можно считать серьезным достижением. Про качество прочих вообще молчу. Так что можно, но сложно, в рамках короткого ответа точно не получится.

    В вашем случае - если очень охота - определите формальные критерии для выделения существительного именно в единственном числе, подозреваю что соответственно и род/склонение/спряжение/етц будет нехило влиять на построение фразы. все это формализовать - большая и сложная задача.
    Ответ написан
    Комментировать
  • Как записать данные во все файлы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Какой-то бредовенький код. $str вообще нигде не используется, зачем он вообще?

    $langs = ["uk", "ru", "pl"];
    $format = ".txt";
    foreach($langs as $lang){
       $file = file("woo.txt");
       foreach($file as $string){
           $word = explode('=',$string)[1];
           $word = !empty($word[1]?$word[1]:'';
           if(!empty($word)){
              $ya = new yandex();
              $txt = $ya->translate($word, $lang);
              $txt = $txt->text;
              $query = str_replace($word,$done,$line);
              file_put_content("index" . "_" . $lang . $format, $query,FILE_APPEND);
           }
           else{
                 file_put_content("index" . "_" . $lang . $format, $string,FILE_APPEND);
           }
       }
    }
    Ответ написан
    Комментировать
  • Как получить данные из консоли?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Почему не работает fetch_array?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вы пару часов назад задавали такой же абсолютно левый вопрос, который решается абсолютно так же: по шагам проверяются значения и результат работы. Кроме того - вывод ошибок. Тогда сразу видно что ваша переменная никогда не попадет в вывод по причине того что после ее получения вы просрали все минералы сделали переадресацию на другой урл(читай - закрыли старый скрипт и создали новый).
    Ответ написан
    5 комментариев
  • Приходят кракозябры с формы обратной связи?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    мэйлер не знает что за строки вы ему пихаете, указывайте кодировку, читайте доку
    $mail->CharSet = 'UTF-8';
    Ответ написан
    Комментировать
  • Почему не работает INSERT INTO?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Не лень писать столько было?
    1) Включить вывод ошибок
    2) Проверить что уходит на сервер(консоль браузера - нетворк)
    3) там же проверить что вернул сервер
    4) проверить переменные котрые приходят в скрипт на сервере, подходим, не стесняемся, пользуемся var_dump()
    5) Копируем ручками запрос в консоль/пхпмайадмин и смотрим на что матюкается мускул.
    много думаем...
    Ответ написан
    4 комментария
  • Стоит ли передавать пустые строки или статичные параметры методом prepare в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вопрос даже не в том нужно ил инет, а в том зачем заниматься ерундой в плане руками вбивать данные в запрос, не важно как, со стетментами или без. Делаете обертку(или берете какую-то готовую), и просто передаете параметры запроса (типа вэа, лимит), и массив в виде ключ(имя_ячейки)=>значение, и оно само там строится как надо.
    Ответ написан
    Комментировать
  • Как организовать рекурсию для отображения подкатегории?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Рекурсия это функция, в аргумент передаете текущий массив, если он содержит массивы - снова вызываете эту же функцию с уже новым массивом, таким образом все самозацикливается.
    Ответ написан
    2 комментария
  • Как правильно обработать большой JSON файл, расположенный на удаленном сервере?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если на сервере есть 15+ гиг - то лучше скачать и далее работать уже с локальным файлом, который можно открывать кусками любого удобного размера. Если такой возможности нет, то сначала надо убедиться что файл на удаленном сервере не будет меняться во время работы с ним(а работа будет не сильно быстрой, учитывая размер файла), далее открывать файл чанками, указывая смещение. Тут придется повозиться, так как нужно будет брать куски, которые кроме того что размером отличаются, так еще и каждый следующий будет считаться от позиции высчитанной из предыдущего, в зависимости от того вытащился ли целый фрагмент json структуры или "битый", в котором есть лишний хвост или кусок в котором не хватает данных до полного элемента.
    Ответ написан
    4 комментария
  • Как узнать почему php-fpm: pool www полностью грузит процессор?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    после установки модуля от уважаемых разработчиков сайт перестает открываться
    уважаемые разработчики - это те которые поддерживают свои разработки. Соответственно либо у вас что-то не так настроено(читайте доку к модулю), либо пишите разработчикам в суппорт.

    Есть еще вариант разбираться самостоятельно(но судя по "Но модуль состоит из большого количества файлов, как же мне определить в какой из них идти и использовать die?" это не ваш вариант), или обратиться на фриланс, ибо по таким симптомам никто вам ничего конкретного сказать не сможет.
    Ответ написан
    Комментировать
  • Как выполнит одним запросом несколько действий MYSQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как выполнит одним запросом несколько действий MYSQL?
    Никак, это разные запросы с разными таблицами и разными задачами.

    для снижения нагрузки на базу данных.
    Неужели у вас уже более 1000 запросов в секунду и необходима срочная оптимизация?

    $db->query("UPDATE score SET score = score + $klik push = push + 1 WHERE vk_id = $ids LIMIT 1");
    $db->query("UPDATE score SET score = score + $klik push = push + 1 WHERE vk_id = $ids LIMIT 1");
    во первых - не хватает запятых между присваиваниями, во вторых SET score = score + $klik*2, push = push + 2 вот вам минус 1 запрос. В третьих - вроде используете pdo, а переменные вставляете без prepared statements...

    Все это можно:
    1) обернуть в транзакцию - профит от этого - целостность выполнения операций(на скорости особо не отразится).
    2) Запустить одним скриптом, разделив запросы семиколоном ";" (профита практически никакого)
    Ответ написан
    5 комментариев