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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как сделать систему переписки?
    сесть и сделать. Написать код(клиента и сервера), создать бд/таблички, настроить сокеты... Много чего сделать чтоб создать...

    Ну как в ВК, или Telegram.
    Вообще 2 разные системы, первая сайт-соцсеть, вторая приложение.

    Как сделать её быстрой?
    Оптимизировать код, оптимизировать запросы, купить сервер по мощнее, раздать всем быстрый интернет...

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

    И как сделать чтобы показывалось прочитано или нет.
    при загрузке сообщения смотреть активно ли окно диалога, если активно - на сервер отослать что сообщение прочитано, если нет - по активации окна отослать что все ранее присланные сообщения прочитаны.

    Редактирование и удаление сообщений.
    Да. В смысле делай. Все так же, код редактирования, код удаления...
    Ответ написан
    5 комментариев
  • Как открыть сторонний сайт у себя на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) cURL
    2) iframe
    Ответ написан
    Комментировать
  • Что делать если не отправляется письмо, хоть нету ошибок php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых mail() возвращает фигню, которая вообще ни о чем:
    Возвращает TRUE, если письмо было принято для передачи, иначе FALSE.
    Важно заметить, что то что письмо было принято для передачи вовсе НЕ означает что оно достигло получателя.

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

    Или взять нормальную библиотеку, например PHPMailer, настроить и пользоваться.
    Ответ написан
    2 комментария
  • Как лучше всего организовать поиск в тексте на сайте?

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

    Просто и быстро - при парсинге полученный текст сразу проверять на совпадения нужных слов через substr() или preg_match() (в зависимости от задачи), далее по требованиям - записать в бд что нашли и где(если это нужно для оповещения) или только оповестить пользователя.
    Ответ написан
    Комментировать
  • Скажите пж, как расшифровать md5 пароль на php?

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

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Нужно для валидации 11 форм обратной связи соединить около 11 функций
    это одинаковые формы? Зачем их 11? Я просто не могу придумать для чего 11 форм одинаковых делать...

    UPD:
    Итак, формы: убрать идентификатор(вам уже сказали, идентификатор - уникален, то есть может быть только 1 на страницу), все имена полей сделать одинаковыми(не надо их менять на name1 и тд, сделайте все формы одинаковыми по структуре), добавить общий класс на все формы(пусть будет тоже contact-form), убрать этот уродский onsubmit="return validateForm()", и функцию эту поменять на листенер(смотри ниже).
    на этот класс добавить листенер на субмит, далее обработчик будет один одинаковый для всех форм:
    $(function(){ // вешаем листенер по загрузке документа
    
    $('.contact-form').on('submit', function(e){
      e.preventDefault();
      document.getElementById('status').innerHTML = "Отправка...";
      formData =  $(this).serialize();
      $.ajax({
        url : "mail/mail1.php",
        .... // далее все как у вас
    })
    
    })
    Ответ написан
    5 комментариев
  • Почему не работает curl на apache?

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

    При этом mysqli работает, а curl и openssl нет
    phpinfo() смотрите, что у вас подключено а что нет.
    Ответ написан
  • Ошибка в скрипте, почему главная страница грузится 15 секунд?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    хинт: смотреть отрендеренный хтмл нет смысла, смотрите исходник страницы.
    Ответ написан
  • Как добавить отправку файла в форму ajax _ php (скрипт рабочий - проверял)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ajax send file jquery первые строчки в гугле.
    Ответ написан
    3 комментария
  • Как сделать отправку формы на почту?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую что вы просто дописали в урл что-то типа $url = "$domen"."?hex=#000000".
    urlencode
    Ответ написан
    Комментировать
  • Как из бд получить наибольшее значение столбца?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Нужно получить эти значения Топ 10 И чтоб были самые высшие значения 10 штук
    используйте order by и limit в запросе

    И их вывести в переменные
    зависит от кода и используемого драйвера mysql.
    Ответ написан
    Комментировать
  • Расстановка недостающих пробелов в тексте. Как сделать корректно?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если коротко - никак. У гугла и яндкса явно есть в наличии алгоритмы и библиотеки с таким функционалом, однако отдельно в открытом доступе ничего похожего я не нашел. Если проблема чисто "визуального" свойства(строки не влазят в определенные блоки или ломают верстку), то выхода 2:
    - Изменить поведение блоков с текстом через цсс overflow-wrap: break-word;,
    - или программно разбивать слова длиннее определенного количества символов на блоки по N символов(причем логичнее делать это при выводе, а не при обработке входящих данных).

    UPD: Как вариант - вычленять длинные слова и дергать api гугла или яндекса для проверки "на вшивость".
    Ответ написан
    5 комментариев
  • Почему при запуске скрипта с помощью планировщика Windows выпадает ошибка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    0) start "email reminder task" "C:\wamp64\bin\php\php7.1.29\php.exe" -f C:\www\draft\incremental_update.php>>C:\www\draft\incremental_update.log
    1) Для cli php используется другой php.ini нежели для "через апач", возможно просто разные настройки
    2) Пути, проверьте что у вас в $_SERVER['DOCUMENT_ROOT'], оно может вообще хз куда показывать из cli
    3) Проверьте или установлен вывод ошибок, может оно что пишет, но только в лог(лог еще гляньте)
    пока больше мыслей нет...
    Ответ написан
    2 комментария