Ответы пользователя по тегу PHP
  • Проблема с проектом на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    хранение книг, которые вы прочитали/купили;
    ...
    Я просто создал массивы и подмассивы с необходимыми данными и всё. Что ещё нужно добавить?
    Допустим хранить эти данные дольше чем открыт браузер? Или привязывать такие списки к пользователю? И как-то хранить пользователей... И еще миллион всякого, понятно что на уровне "задача в 3 действия" все решается 2 массивами, но на уровне реального приложения работы в тысячу раз больше.
    Ответ написан
    Комментировать
  • Почему в письме отправленной формы указано другое значение cookie?

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

    Ну грубо говоря, захожу на сайт, мне генерируется кука. Например, ее значение такое id_407-1640605007.
    Проверяю в инспекторе (chrome dev tools, инструменты разработчика мозилла). Там, (мозилла - инструменты разработчика - "хранилище" - просмотр всех кук), показывается такая же кука.
    Заполняю форму.
    Отправляю.

    До сих пор все правильно, а далее пропущен момент где в заголовке у вас по новой генерируется кука, и из нее берется новое сгенерированное значение для письма, а значение которое вы отправляли через POST такое "Ну да, ну да, пошло я на**й...".

    Смотрю почту.
    Приходит письмо. Мои данные все такие, как в форме при заполнении.
    Значение куки - совсем другое. Совсем.
    Что логично, вы же ее не из формы взяли...

    Не понимаю почему так.
    По тому что важно проверять значения перед отправкой. Для этого и есть var_dump();
    Ответ написан
  • Почему не работают роуты?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Опустим грустную часть где вы не осилили 3 нормальную форму и изголяетесь со строкой, еще и в достаточно извращенном формате (что например мешало залить туда хотя бы json?).
    $scrsList = explode('|||',$poster['images']); 
    var_dump($scrsList); //смотрим что у нас попало в $scrsList, должен быть массив строк
    ... 
    foreach ($scrsList[1] as $scr){ //почему $scrsList[1]??? Это же первый элемент, там строка лежит!
    ...
    $poster_temp = explode("/",$scr); // откуда косая? У вас же там "|" ?
    Ответ написан
    Комментировать
  • Как правильно сделать динамическую подгрузку контента с помощью ajax?

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

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Типа такого что-то...
    SELECT * 
    FROM bel_master bm
    LEFT JOIN bel_category bc
    ON bc.id = bm.category_id
    WHERE some statement
    ORDER BY some_field
    LIMIT 50
    Ответ написан
    Комментировать
  • Есть код в PHP с img src но когда я открываю его в браузере то пишет img src(unknown)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть такой простой код, но, он не работает, почему то.
    Все работает, просто вы не умеете работать с данными (надеюсь пока что)

    Что делать

    Во первых научиться пользоваться var_dump(), убедиться что в $_SESSION['user']['avatar'] ничего нет, или лежит что-то неадекватное, проверить запись в бд и убедиться что там это поле пустое, ну или так же содержит что-то неадекватное.

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    get_headers(), желательно использовать HEAD-запрос, а не GET, в доке есть пример как это делать.
    Ответ написан
    Комментировать
  • Iframe как альтернатива ajax и отправка POST запросов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer

    С точки зрения практичности и безопасности данный способ оправдывает себя?
    С точки зрения практичности - нет, так как это полная шляпа, мы такое писали в 2005, когда аякс как явление еще не существовал, а уже в 2012 появился нормальный XMLHttpRequest здорового человека, на который все быстренько переползли.

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

    Задавшись вопросом безопасности отправки запросов через ajax
    Если возникают вопросы безопасности при отправке данных через пост - значит вы что-то не то передаете...
    Ответ написан
    Комментировать
  • Отправка копии емейл пользователю?

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

    Можно переписать функцию sendEmail(), добавив в конец необязательный параметр емэйл, котрый по умолчанию пустой, и если он пустой - брать из константы, в противном случае использовать его значение как емэйл отправки.
    Ответ написан
    2 комментария
  • Загрузка страниц сайта PHP?

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

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

    Так как с датами "в голове" иногда сложно сопоставлять, для себя делайте умственную проверку:
    if($now_date_unix (пусть будет 27 число) > $otp1end_unix (пусть будет 17 число)) {
       // тут надо подумать и написать правильный вариант )
    }...
    Ответ написан
    Комментировать
  • Resource: что из себя представляю потоки в php?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Локализация (хорошая) всегда держится на кастомных наборах переводов, обычно это или таблица в бд, либо файлик с массивом, который правят по ходу наполнения сайта. Как конкретно реализовывать зависит от многих параметров, в том числе и от наличия готовых решений для используемого фреймворка. Ну или свое что-то пишут. Но смысл всегда примерно один - итоговый массив с ключами типа
    $translate = ['welcome'=>['ru'=>"Приветики",'jp'=>"Komichiwa"]...];
    Как достать значения по ключу думаю не надо разжевывать?..
    Ответ написан
    2 комментария
  • Как из preg_match получить ссылку на фото?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $pattern1 = '#<img.*src="([^\s]+)".*>';
    Ответ написан
    Комментировать