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

    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 комментария
  • Чем плохо написание кода функциями?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Зачем нужен ООП?
    Кратко зачем ооп вместо функций:
    1) Снижение сложности кода(да, звучит странно, но на самом деле именно так и есть - сложные вещи пишутся 1 раз, а далее вы пользуетесь практически предложениями естественного языка и описываем реально существующие манипуляции с реальными объектами, например $user->getName(), $image->rotateLeft()...)
    2) Инкапсуляция - все что делает объект изолированно внутри одного инстанса, вы работаете по сути с отображением реальных объектов в цифровой мир(+ этот объект может быть сколь угодно сложным внутри, наружу он смотрит простыми методами для возможности операций над ним).
    3) Снижение затрат памяти - классы подгружаются только в необходимом объеме и в нужно месте, в процедурном подходе все функции грузятся сразу.
    4) Локализация кода - всегда логика одной сущности доступна в одном месте, не размазана по функциям и коду. Это такой нехилый бонус к инкапсуляции, и при рефакторинге вам не надо переписывать кучу кода, если объект был изначально правильно построен, максимум поменять немного логику внутренней обработки данных.

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

    Я понимаю что это плохо и не правильно, но оно работает, хотел бы попросить у Вас совета, насколько это плохо, и можно ли использовать данный подход?
    Почему нельзя?
    Оно работает?
    Оно решает проблему бизнеса на сейчас?
    Бизнес устраивает решение которое "будет работать только здесь и сейчас, а стоимость погашения технического долга и расширения будет равна написанию приложения с нуля, но это будет потом"?
    Если все ответы - "да" значит все не так уж плохо на сегодняшний день, и билет на само в порядке, по крайней мере пока вы работаете там.
    Но я бы серьезно задумался о будущем в плане развития.
    Ответ написан
    Комментировать
  • Как найти в базе похожие записи?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    разовая, когда из импорта приходят данные,
    Тогда достаточно банально,
    селект где pid = 0 и width = 0,
    затем уже в пыхе перебор строк,
    експлодим name пробелом,
    выбираем все строки где name теперь массив длинной 1(это будут корни) в отдельный массив
    и ключами в этом массиве делаем name.
    Еще один раз перебираем массив строк с проверкой или массив длинной более 1 в name,
    после чего из name[1] вытаскиваем чистую цифру(убираем скобки), записываем в width,
    из name[0] получаем ключ к массиву корней, из которого достаем id, и кладем в pid.
    Всё, строчки упдэйтнуть в базу.

    Вполне возможно где-то можно улучшить алгоритм, но "в лоб" - это самый очевидный вариант.
    Ответ написан
    2 комментария