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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) массив
    2) оператор ... или func_get_args()
    3) stdClass или заранее определенный класс
    для двух последних можно и тайпхинтинг указать
    Ответ написан
    Комментировать
  • Как указать POST запрос в From при отправке письма в PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    пихать необработанный $_POST в код - плохая идея.
    echo $headers покажет что вам туда упало(скорее всего совсем не то что вы ожидаете)
    Ответ написан
    Комментировать
  • Есть ли какие то готовые PHP библиотеки для загрузки и ресайза картинок на сервер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть для загрузки
    есть для ресайза
    Это ДВЕ НЕСВЯЗАННЫЕ ЗАДАЧИ, соответственно решать их надо последовательно.

    А то я погуглил и ничего толкового не увидел

    "Вы не любите кошек? Вы их просто готовить не умеете!"
    Ответ написан
    Комментировать
  • Как подойти к решению задачи?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    магия пхп:
    strtotime ('now + 1 month');
    strtotime ( $someDate ' + 1 month');
    strtotime ('now + 1 week');
    strtotime ('now + 1 day');


    а вообще для работы с датами есть набор расширений специально для таких целей.
    Ответ написан
    Комментировать
  • Чем можно спарсить информацию с API, использующее куки и CSRFToken?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    CURL
    Selenium
    Ответ написан
    Комментировать
  • Как передать код статического метода класса PHP через ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Echo class::method();
    Exit;
    Ответ написан
    3 комментария
  • Проверка поля и оповещение пользователя - как лучше организовать?

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

    А дальше при обновлении данных в базе и если адрес пользователя попал в список отключенных - шлём ему оповещение.
    Это если у вас пользователь как то имеется в системе с контактами, иначе через Почту России долго будет имхо.

    подводные камни - данные могут в течение дня несколько раз поменяться,
    ничегоне мешает при исключении адреса из бд высылать ему "ой, ошибочка вышла"

    а второе - поиск по адресной базе сомневаюсь что выйдет быстрым.

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если чистый пых - парсить естественно, если фреймворк - обычно есть компонент роутинга, который делает это. В числе прочих необходимых процедур - настройка единой точки входа(например настройка Rewrite Engine для апача с перенаправлением запросов на index.php)
    Ответ написан
    Комментировать
  • Не могу отправить header?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    перед отсылкой заголовков НИЧЕГО не должно отсылаться на вывод, то есть первыми строками ответа должны идти заголовки. Так что или у вас есть какой-то вывод перед вызовом заголовка(это может быть не только echo, но и допустим вывод варнинга) либо сам файл имеет неправильную кодировку, что вызывает вывод лишних символов при старте скрипта(проверьте, кодировка должна быть UTF-8 без BOM).
    Ответ написан
  • Почему возвращается пустой массив?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ...
    $result=array();
    $i = 0;
    foreach($res as $r) {
      arsort($r);
      $result[$words[$i]] = key($r);
      $i++;
    }
    return $result;
    Ответ написан
    1 комментарий
  • Как создать файл и открыть его?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Но мне бы не хотелось хранить этот файл на сервере.

    $text = $response;
    $pdfname = 'myCoolPDF';
    header('Content-Type: text/html; charset=UTF-8');
    header('Expires: Mon, 30 Jul 1997 05:00:00 GMT');
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Cache-Control: post-check=0, pre-check=0', FALSE);
    header('Pragma: no-cache');
    header('Content-transfer-encoding: binary');
    header('Content-Disposition: inline; filename='.$pdfsendname.'.pdf');
    header('Content-Type: application/pdf');
    echo $text;
    Ответ написан
  • Как обновить дату в mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    первое что нужно проверять в таком случае - что попало в запрос из переменных, для начала var_dump($sql5) было бы достаточно, и если $id реально не пустой(код где он определяется вы не показали), проверить существует ли idcisco с таким значением.
    Ответ написан
    1 комментарий
  • Как называется такая аутентификация и как выбрать правильный способ?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В переменную $dann содержимое не заносится.
    Читать мануал, смотреть что и как возвращает require().
    далее, если вам нужно содержимое включаемого файла - коапайте в сторону управления выводом - ob_start(), ob_get_clean();
    Вообще, если возникают такие проблемы, значит где то в структуре/архитектуре проекта огромный косяк.

    PS: инклуд курлом - жесть )))
    Ответ написан
    Комментировать
  • Как сохранить все выбранные чекбоксы в базу?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Базовые знания - потрачено...
    У вас инпуты с одинаковыми именами, соответственно передаются они один за другим на сервер, где воспринимаются как переменные с соответствующим именем. Логично что последний зачеканый чекбокс тупо затрет предыдущее значение переменной с тем же именем.
    Самое простое решение - добавить "индивидуальности" именам полей.
    так в скрипте будет выводиться как многомерный массив c ключом категорией:
    <input type="checkbox" name="seller[categ][<?php echo $category['category_id']; ?>]" checked="checked" value="<?php echo $category['category_id']; ?>"/>

    так будет выводиться как многомерный массив c автоинкрементным ключом:
    <input type="checkbox" name="seller[categ][]" checked="checked" value="<?php echo $category['category_id']; ?>"/>

    а так как обычный массив:
    <input type="checkbox" name="seller_categ_<?php echo $category['category_id']; ?>" checked="checked" value="<?php echo $category['category_id']; ?>"/>
    Ответ написан
    3 комментария
  • Как посчитать уникальных пользователей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если есть авторизация - вообще влегкую, если нет - хранить айпи с которого заходит пользователь, это конечно не будет точной метрикой, но +- даст понять сколько примерно уников.
    Ответ написан
    1 комментарий
  • Как правильно добавить условие при запросе mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Данный запрос выводит записи сегодняшней даты,
    фигасе вмутили выборку сегодняшней даты...
    типа так:
    $db->query("
    SELECT COUNT(*) as count
    FROM " . PREFIX . "_games 
    WHERE ( 
         gligue_id != '438' 
          AND date(game_date) = date( now())
    ) 
    or
    (
        date(game_date) = date( now() - INTERVAL 1 DAY) 
         AND game_status = 2
    )
    ");
    Ответ написан
    Комментировать
  • В чем разница и почему не проходит второй вариант?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Что не так?
    В- внимательность
    //тут все ок
    $url = BASE_URL . 'sendMessage?chat_id=' . $data['chat_id'] . '&text=' . $data['text'];
    
    // а тут вместо переменной урл идет дата, а урл вообще не определен
    $data = BASE_URL  . 'sendMessage?' . $data;
    
    
    //UPD: не заметил шедевральное )
    
    $data = array("text" => $text, "chat_id" => $chat_id);
    foreach($data as $k => $v)
      {
    //тут к итерируемому массиву конкатенируем строку, 
    //подход интересный, но работать не будет )
        $data .= '&' . $k . '=' . $v;
      }
    
    // все эти танцы спокойно заменяются на 
    $data = array("text" => $text, "chat_id" => $chat_id);
    $url = BASE_URL . 'sendMessage?' . http_build_query($data);
    Ответ написан
    5 комментариев