Задать вопрос
Профиль пользователя заблокирован сроком с 10 апреля 2022 г. и навсегда по причине: систематические нарушения правил сервиса
Ответы пользователя по тегу PHP
  • PDO и поддержка соединения?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Дело в том, что экземпляр класса создается в различных участках кода

    Какие проблемы? НЕ СОЗДАВАЙ экземпляр класса для работы с БД в различных участках кода
    Ответ написан
    3 комментария
  • Как при JOIN лимитировать данные по одной таблице?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    ну например group by.
    Это все, что можно ответить на столь невнятный, и сформулированный из неверных предпосылок вопрос.
    Ответ написан
    Комментировать
  • Как составить регулярное выражение для проверки правильного формата денежной суммы?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Здесь, кстати, хорошо видны два подхода, которые четко делят людей на пользователей и программистов:
    Пользователь хочет "подборку готовых кодов на все случаи жизни" - желание заведомо невыполнимое.
    Программиста же никогда не смущает отсутствие готового решения - на то он и программист. Которому не нужна таблица, в которой можно посмотреть, сколько будет 5х5. Потому что он может это вычислить!
    Ответ написан
    2 комментария
  • Какие знаете полезные сообщества про php и javacript?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    phpclub.ru/talk - единственный в рунете форум, где можно получить профессиональный ответ на профессиональный вопрос.
    Ну и, в качестве бонуса, там невозможно получить тупой ответ на тупой вопрос.
    Не всё, конечно, так радужно. У части завсегдатаев звездная болезнь в тяжелой форме. Однако человек с крепкой психикой, уверенный в себе, и который хочет обсудить свой вопрос, а не свою драгоценную персону, никаких проблем в общении иметь не будет.
    Ответ написан
    Комментировать
  • Как организовать вывод данных?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    мозг уже отработал свое адекватное время и сейчас отказывается предлагать нормальные идеи.

    Значит, надо погулять полчасика на свежем воздухе, а потом ложиться спать
    Ответ написан
  • Несколько таймеров на странице, как можно реализовать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    нужно чтобы по истечению срока происходило некоторое действие например запись определенной информации в БД

    Зачем?
    Ответ написан
    Комментировать
  • Как создать счет перед отправкой платежной формы?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Решение: Выгнать составителя ТЗ без выходного пособия. Нанять специалиста.

    PS. perfectmoney не видел, но ставлю 100 против 1 что "перфекционист" там и двух полей заполнить не сможет.
    Ответ написан
    6 комментариев
  • Php. Как кошерно передавать api?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Или я что-то упустил, и можно с GET параметром тоже реализовать так же?

    а что - нельзя?
    Ответ написан
    22 комментария
  • Можно ли прочитать QR код на сайте?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    дружок, давай я научу тебя пользоваться интернетом.
    пишешь в адресной строке своего браузера 4 слова:
    qr code web camera
    и нажимаешь клавишу Enter
    Ответ написан
    1 комментарий
  • Отправка пользователю заголовка err 500 / 403 / 404 средствами php. Как реализовать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как реализовать?

    Так, как ты реализуешь. Главное чтобы заголовки отправлялись до начала вывода и не был подавлен вывод ошибок.
    Или я не должен видеть этой ошибки в браузере?

    Должен.
    То же, просто белая страница, пустая внутри.

    Как уже сказали - смотри код ответа пришедший от сервера.
    Если там 200 - смотри конфиг нжинкса
    Ответ написан
    Комментировать
  • Как исправить ошибку синтаксиса?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    $data = arrray(
      'username' => $username, 
      'email' => $email, 
      'password' => $newpass, 
      'group' => $group,
    );
    $db->query("UPDATE users SET ?u WHERE id = ?i", $data, $id);
    Ответ написан
    Комментировать
  • Как решить ошибку с сокетом mysql SQLSTATE[HY000] [2002]?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    выкинуть на помойку 200 new PDO. - это полчаса работы. давно бы уже исправил свой адский код вместо того чтобы лечить симптомы
    Ответ написан
    Комментировать
  • Php PDO database singleton. Какой вариант выбрать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    По первому варианту:
    1. Зачем здесь нужен класс Database?
    2. У тебя будет только один класс во всем приложении? или больше? А сколько будет коннектов после new myclass и new myclass2?

    По второму.
    Высоколобые не любят синглетон. Чем-то он им там с тестированием мешает. Плюс религиозная нетерпимость. Так что используй статический синглтон только если у тебя код организован в виде классического процедурногоговнокода.

    Если же у тебя все в виде кошерной иерархии классов, то, как замечено в другом ответе, передавай соединение в класс, а не создавай его каждый раз заного.
    function __construct($db)
        {
            $this->db = $db;
        }
    Ответ написан
  • Как сделать такой формат даты и времени?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    А этот код тебе кто делал?

    Во - нашел. Лет 10 назад писал :)

    echo rdate().'<br>';
    echo rdate(0,'d \p Y года').'<br>';
    $date = '2015-01-11 15:52:00';
    echo rdate($date,'d \p Yг., H:i');
    
    
    // \P (латиниская) - русское название месяца в именительном падеже
    // \p (латиниская) - русское название месяца в родительном падеже
    function rdate($date = 0, $format = '')
    {
      if (!$date) $date = time();
      
      if (!ctype_digit((string)$date))
      {
      	$date = strtotime($date);
      }
      
      if (!$format) $format='d.m.y H:i';
    
      $rmon = array('январь','февраль','март','апрель',
                    'май','июнь','июль','август','сентябрь',
                    'октябрь','ноябрь','декабрь');
      $format = str_replace('\P',$rmon[date('n',$date)-1],$format);
    
      $rmon = array('января','февраля','марта','апреля',
                    'мая','июня','июля','августа','сентября',
                    'октября','ноября','декабря');
      $format=str_replace('\p',$rmon[date('n',$date)-1],$format);
    
      return date($format, $date);
    }
    Ответ написан
    5 комментариев
  • Какая разница между @include и include?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. Собака не имеет никакого отношения к include. Это не один оператор, а два совершенно разных оператора.
    2. Увидев @ в коде ты можешь почти со стопроцентной уверенностью сказать, что его писал неграмотный пользователь, и пользоваться этим кодом не стоит.
    3. Увидев в коде @include ты можешь смело считать его автора абсолютным лохом и нубом, а сам код надо выкидывать немедленно. Потому что @include глушит не только саму ошибку включения файла, но и все ошибки в этом файле - то есть, поступает стократ хуже. Это значит, что если автор допускает такие косяки в коде, то и все остальное у него тоже ад кромешный.
    4. Самое главное. Ошибки надо не подавлять. Ошибки надо исправлять. Но опять же, делать это с умом. Начинающие программисты считают сообщения об ошибках своими личными врагами, и борются с ними всеми доступными средствами - с помощью @, error_reporting(0) и др. Получив линейкой по рукам и запомнив на всю жизнь, что так делать не надо, ониначинают с не меньшим рвением писать всякие проверки - лишь бы не допустить, не дай бог, ненавистного сообщения об ошибке. Например:

    if (file_exists($inc))
    {
        include $inc;
    } else {
        echo "Файл не найден";
    }

    Так вот, это - еще хуже. Для начала, часть ошибок этот код все равно не отловит. Но это даже не самое главное. Главное - что вот это вот "Файл не найден" не имеет ни малейшего смысла. Пользователю оно ничего не скажет. А программист о нем не узнает. А если и узнает, то ничего не поймет! Какой файл? Где не найден? По какой причине? Системное сообщение об ошибке содержит массу бесценной информации помогающей идентифицировать ошибку, сообщая нам где она произошла, какой файл не найден, по какой причине не найден. Выдавать вместо этого огрызок "файл не найден" - это мазохизм.

    И вот тут мы должны произвести натуральную революцию в неокрепшем детском мозгу: сообщение об ошибке не твой враг, а твой друг! И надо добиваться его появления всеми возможными способами! В том числе и выпиливанием бессмысленных проверок. Проверку можно ставить только если у нас есть сценарий обработки ошибки: к примеру, вместо этого файла мы можем заинклюдить какой-то другой, дефолтный. Тогда да - проверка имеет смысл. Но если это самый обычный инклюд, который всегда должен быть на своем месте, то его отсутствие обязано вызывать ошибку! Чтобы она была сразу показана на дев сервере и тут же исправлена. Чтобы она была записана в лог на продакшене и тут же исправлена.

    Ошибки не надо подавлять. Ошибки не надо прятать. Ошибки надо исправлять.
    Ответ написан
    3 комментария
  • Как оформить уровни вложенности в условии?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ничего не могу ответить - при взгляде на этот код мои глаза стали кровоточить.

    Но похожий случай был на Оклахомщине
    Ты, я так понимаю, из операторов сравнения знаешь только "равно" и "не равно" ? Когда проходили "больше"-"меньше" ты болел?
    Ответ написан
    9 комментариев
  • Где хранятся задания cron?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    У тебя вопрос по панели управления для клиентов системы "Йа с понтом хостер-криворучко". Cpanel и вот это вот всё.

    К тегу unix оно не имеет ни малейшего отношения.
    потому что в юникс можно написать
    crontab список_заданий.txt
    и все загрузить.
    А куда грузить в твоей панели - надо спрашивать пользователей панели, а не юникса.

    Впрочем, в любом случае если у тебя там " много однотипных cron-задач", то ты все делаешь неправильно.
    Ответ написан
  • Форма отправки данных, В чем проблема?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Аналогичный случай был в Одессе
    Ответ написан
    Комментировать
  • Куда PDO пишет ошибки если нет try / catch?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никакой обработчик писать не надо.
    Порождается стандартная Fatal error, которая должна содержать текст ошибки.
    То есть, PDO дальше становится не при чем, и ошибка обрабатывается так же, как и все остальные. То есть, куда по умолчанию выводит ошибки РНР - туда и выведется.

    Проблема, как я понимаю, в отсутствии текста ошибки. Я бы грешил на xdebug и для начала попробовал бы без него.
    Ответ написан
    Комментировать