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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Кодировка страницы + кодировка соединения + кодировка таблицы в бд + желательно дефолтная кодировка в пхп.ини = utf-8
    Ответ написан
    4 комментария
  • Где хранить аутентифицированного пользователя?

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

    По сути в объекте пользователя нет необходимости хранить все данные, можно вообще хранить только логин, айди, что-то часто используемое и статус залогинености, и все это кинуть либо в массив вообще, либо в стдкласс.

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

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

    Пока идей больше нет...
    Ответ написан
    4 комментария
  • Почему не отправляются данные формы HTML на почту средством PHP?

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

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

    2) Считать куку в отдельной таблице айди | кука | айди статьи , где кука будет уникальным полем, пишете запрос с он дупликэйт игнор, и потом тупо селект суммы по айди статьи. Это накладнее по ресурсам, как по месту, так и по процу, но считает чисто уников. Считать по айпи - глупо, ибо 80% траффика на сегодня - мобила, а при переподключениях к сети айпи будет меняться у одного пользователя, короче это нифига не уникально.

    3) Забить на подсчет своими силами, и ориентироваться на профессиональные счетчики а-ля яндекс гугл. Просто, качественно, весьма достоверно. Графики, аналитика и прочие плюшки бонусом.
    Ответ написан
    2 комментария
  • Как получить медиафайлы отдельно?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Кажется вы ставите телегу впереди лошади, впрочем как и многие новички, пытающиеся решить задачу с оповещениями/изменениями через крон/интервал.

    присылать уведомление, если цена изменилась более чем на 2%
    Во первых откуда берутся изменения? Если у вас они происходят программно - проще во время обновления в бд проверить расхождение с предыдущей ценой, и в случае разницы в эн процентов оповещать всех подписанных на событие клиентов по сокету.
    Во первых обновления будут приходить сразу, а не каждые 10 секунд,
    во вторых не придется выбирать ВСЕ товары и сверять с каким-то хранимым массивом (его еще и хранить где-то надо чтобы разницу считать),
    и в третьих нагрузка при этом на порядки ниже, так как у вас на руках сразу все изменения, и ничего дополнительно выбирать не надо.
    Ответ написан
    2 комментария
  • Как открыть pop-up окно с другой страницы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Главная страница в данном случае должна "следить" за событиями на сервере, и по определенному событию делать что-то, например показывать попап или играть музыку, не суть.
    Отслеживать можно несколькими способами:
    1) Открыть сокет соединение и ждать события в сокете, требуется поддержка/установка сокетов на сервере
    2) Через определенный интервал опрашивать сервер аяксом, единственное преимущество - не нужно ничего настраивать, будет работать с любыми дефолтно настроенными серверами.
    3) Настроить лонг полинг, но для этого тоже требуется настройка лонг полов на сервере.
    Ответ написан
    Комментировать
  • Проблема с формой на php?

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

    Для отладки и проверки можно использовать mail() с заранее вставленными правильными данными, не через форму, и проверить работает ли вообще эта функция, и потом уже делать выводы.
    Ответ написан
    Комментировать
  • Почему unserialize не работает?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Нотисы включите, ваша строка явно кривая:
    Notice: unserialize(): Error at offset 1162 of 2532 bytes
    Ответ написан
    Комментировать
  • Как сделать поочередны вывод из MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В папке с моделями нашелся файл subscriber.php, который, похоже, делает то, что нужно...
    осталось найти контроллер в котором вызывается метод этой модели. Ну и поменять там логику/поля...
    Ответ написан
  • Find phpQuery при динамическом CSS?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    find('[class^="a-item-dent"]')
    Ответ написан
    2 комментария
  • Как получить описание видео с ютуба через Curl?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    SSL is required to perform this operation

    "http://www.youtube.com/oembed?url="

    ы?
    Ответ написан
    3 комментария
  • Почему при переходе на ссылку через html тег "a", php скрипт не выдает файл браузеру?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    во первых - хорошо бы изменить немного метод вывода, ну во вторых очевидно что нужна локальная проверка, например так:
    ...
    if ($rezult_1 || $rezult_1 || $rezult_1) {?>
                    <div class="meta-box-legserv" style="background-color: #aeefb5;">
                            <p class="blockgetzag">Что вы можете получить:</p>
                            <div class="blockgettextwrapper">
                                <ol>
                                    <?php if(!empty($rezult_1)){?><li> <?= $rezult_1?></li><?php }?>
                                    <?php if(!empty($rezult_2)){?><li> <?= $rezult_2?></li><?php }?>
                                     <?php if(!empty($rezult_3)){?><li> <?= $rezult_3?></li><?php }?>
                                </ol>
                            </div>
                        </div>
    <?php            } else {
                    echo 'ПУСТО';
                }


    я бы вообще запихал все резалты в массив и делал вывод через форич, а проверку на вывод кода делал бы через пустоту массива.

    ЗЫ: $rezult_one $rezult_dva $rezult_tri поржал )))
    Ответ написан
    1 комментарий
  • Как в php вывести названия дней недели на немецком?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Обычно я стараюсь не давать прямых решений, так как это косвенно запрещается правилами, а так же мешает процессу развития самостоятельного мышления. Но чет народ сильно тупит, кроме Akina, ответ которого в комментах и Андрей Федоров, который немного не так написал.
    /*в качестве аргумета функции может выступать возвращаемое значение другой функции:*/
    annotateimage($draw, 40, 40, 0, str_repeat($text,30));
    Ответ написан