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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    как принять значение которое пришло
    $_POST
    выслать ответ, либо же масив значений которые можно перебрать с помощью цикла for в js
    echo json_encode()
    Ответ написан
  • Нажатие по кнопке Like не отображает сразу увеличение счётчика на +1, а только лишь, после перезагрузки страницы. Почему?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1)
    $stmt = $mysql->query("SELECT `value` FROM counter WHERE `id` = 1");
       $data = (int)$stmt->fetchColumn();
       $data++;
       $query = "UPDATE `counter` SET `value` = :value WHERE `id` = :id";
       $params = [
         ":id" => 1,
         ":value" => $data
       ];
    меняем на
    $query = "UPDATE `counter` SET `value` = `value`+1 WHERE `id` = :id";
    и сразу избавляемся от лишнего запроса. На будущее переписываем как инсерт он дупликэйт апдейт.
    2) dataType: 'text',меняем на dataType: 'json', и никакие парсе не нужно, получаем сразу объект.
    3) Смотрим вкладку нетворк, строчку где выполнился аякс, смотрим ОТВЕТ СЕРВЕРА. Много думаем.
    Ответ написан
  • Как реализовать смену форм на одной странице?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как передать дату в Firebird?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) DATE ключевое слово, если вы имеете такое поле в таблице, его нужно обрамлять обратными кавычками.
    2) По уму поля таблиц называют в нижнем регистре и через андерскор если имя содержит несколько слов
    3) Для скюэля есть NOW(), автоматически подставляющий текущую дату-время. Можно использовать функции даты для формирования подходящего формата, ту же DATE например.
    4) стандарт хранения даты, который понимает большинство бд - "Y-m-d".
    Ответ написан
    4 комментария
  • При удалении картинки, как передать часть url?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    актион, prozhivanie, $prozhivanies... кошмарама...

    Сделал контроллер, в нем 3 актиона, каждый актион для своего шаблона.
    логичнее было бы задавать вьюшку (шаблон это обычно более общий вид, с заголовками, врапперами и тд) в зависимости от параметра, если экшны у вас одинаковые.
    Ответ написан
  • Как сделать сортировку таблицы mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если это роли, то обычно они хранятся в отдельной таблице ролей, связанные через таблицу связей пользователь-роль. Соответственно можете добавить поле sort в таблицу ролей, и при объединении будете сортировать по этому полю.
    Ответ написан
    Комментировать
  • Что можете посоветовать по изучению php кроме документации?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Как вывести данные из БД в массив (PHP)?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Простой ответ - никак. То есть нормальных, универсальных вариантов нет.
    Варианты с костылями:
    0) в любом случае тело вашего текста надо будет проверять регуляркой и вытаскивать все пути до изображений, загруженных на ваш сервер.
    1) При загрузке указывать идентификатор записи в имени файла, а при сохранении - соответственно проверять все файлы с этим идентификатором на совпадение с имеющимися в тексте, лишние удалять. Вариант не очень удобный, так как при первом сохранении идентификатора еще может не быть.
    2) При загрузке в сессии хранить все пути до загружаемых файлов, при сохранении сверять списки, лишнее удалить, сессию очистить.
    3) Чистить руками через какой-то файловый менеджер, стараться не загружать много мусора.

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    одно и тоже имя оставлять в папках, соответствующих каждому размеру?
    Очевидно же что рано или поздно вы перезапишете какую-то фотку, так как такое имя уже будет загружено (типичный пример без имени(1).jpg). И да - для каждого размера своя папка. Кроме того, часто имена фоток бывают на русском языке, с пробелами, в разном регистре, что для веба не очень хорошо. Фото надо переименовывать. Есть 2-3 варианта, которые зависят от условий. Самый простой и очевидный, подходящий для одной фото на объект - имя будет соответствовать идентификатору объекта (товара в вашем случае). Если их больше одной - можно использовать
    а) идентификатор + _микротайм после точки,
    б) хеш микротайма / идентификатора + _микротайма после точки,
    в) просто микротайм
    г) любой другой алгоритм, гарантирующий высокую уникальность и совместимость с вебстандартами.

    Хранить стандартный вариант в жпег, так же можете добавить вебп, на радость гуглу. Для ог лучше использовать жпег, так как не все соцсети нормально понимают вебп, так же все еще есть проблемы с некоторыми браузерами, например сафари не всегда нормально его понимает.

    Для вывода изображений используйте <picture>, в котором задайте приоритеты вывода и размерность.
    Ответ написан
    3 комментария
  • Как узнать сколько было показов/переходов по картинке на сайте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Необходимо узнать сколько было показов иллюстрации и сколько было переходов на страницу с иллюстрацией.
    На техническое описание не похоже... Считайте просмотры страниц с иллюстрациями, все остальное бред и статистический мусор, вы скорее потонете в его объеме, нежели что-то толковое для себя выведете. Если просмотры это увеличение изображения по клику и вам их надо прям вот посчитать - тупо аяксом при клике отсылаете айди иллюстрации на какой-то свой счетчикКонтроллер и зачитывайте "интерес"... А так - фокус, прокрутка- это все пальцем в лужу...
    Ответ написан
    Комментировать
  • В чем разница между symfony и laravel для начинающего?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    попробовав пописать на ларавел я понял, что он даётся ощутимо тяжелее чем чистый PHP.
    Это по тому что у вас нет понимания ооп в достаточном объеме. Да и "чистый" пхп нифига не проще, если писать что-то чуть сложнее чем "несложный сайтик на классах", и вы быстро потонете в говнокоде.

    Ларавел, как впрочем и другие фреймворки, дает уже готовую структуру, + кучу готового функционала, в том числе и структурированную основу, где у вас основной задачей становится именно дописать немного кастомного функционала, не покрытого внутренними механизмами движка, или отсутствует готовая библиотека под нужную фичу. Далее все сводится к манипуляции готовыми объектами. Что касается выбора - новичку скорее зайдет Лара, так как симфони на порядок сложнее по использованию искаропки, в Ларе же много чего просто уже работает, причем визуально гораздо проще чем в симфони, хотя за фасадами там достаточно такой сложный для новичков код, но обычно туда и не лезут без особой необходимости.

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    <button name="buy" type="submit">buy me now!</button>
    Ответ написан
    Комментировать
  • Is there any more easy and short version for array sorting?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    It's not about sorting, in your case is kind of filtering, so array_filter() must be used instead of this code. Or array_map() if u need all values modify and return.
    Ответ написан
  • Прерывается длительный php-скрипт запущенный через cron?

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

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