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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $xml_object у вас это(внезапно) именно xml объект(а не строковая переменная). По этому записать его в файл вы не сможете. И вообще слабо понятно зачем.
    Ответ написан
  • Ошибка Notice, в чем проблема?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var_dump($data->object);
    Ответ написан
    Комментировать
  • Почему при отправке формы страница перезагружается, а письмо не отправляется?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если ввести номер, то страница перезагружается,
    $(".tel_form").submit(function(e) {
    e.preventDefault();
    ....
    В инструментах разработчика в нетворк смотрите что у вас запрашивается и с какими параметрами уходят запросы, ну и что они возвращают. Консоль что пишет из ошибок?
    Ответ написан
  • Как правильно вставить в php код html с mysql_result, в котором есть php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    вообще это плохая практика, выводить хтмл через echo/print, хтмл выводите как хтмл, пхп как пхп, и все будет понятно и без лишней путаницы. Например:
    <img src="http://chart.apis.google.com/chart?cht=qr&chs=150x150&chl=<?= htmlentities(urlencode(mysql_result($result,$i,file_name)));?>">
    Ответ написан
    7 комментариев
  • Как работает функция in_array?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    или я в чем то ошибаюсь?
    ну, для начала в типах, строки с цифрами в неявном виде сравниваете, плохо понимая как работает неявное приведение типов. Хотите четкое сравнение - укажите модификатор третьим аргументом.
    Ответ написан
    Комментировать
  • Форма отправки заявки не работает: есть form.html,index.php,phpmyadmin?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    action="C:/Users/Guests/Desktop/OSPanel/domains/itrem/www/index.php"
    это сильно...

    Во первых - заведите привычку все файлы держать в одном формате, если пишете на пхп - все должны быть пхп, хтмл не нужен.
    Во вторых - весь код можно (в вашем случае) поместить в один index.php, код обработки формы выше, код хтмл с формой ниже.
    В третьих - таким образом как у вас выше прописано экшн не пишется, ибо работать так точно не будет. Вы пытаетесь запустить локальный файл вместо фала сервера(если упрощенно), нужно указывать путь от корня сервера. В вашем случае это скорее всего "/index.php".

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    хз, у вас там просто какой-то ацкий жесть твориться... по одному клику у вас срабатывает 4 раза событие(или это 4 разных запроса, но зачем?). По этому копаться что и как там происходит никто не будет. Легче все снести и переписать.

    UPD: у вас уходит 4 запроса, один с айдишником товара, в ответ получающий json с данными о добавленном товаре. Затем запрос о получении последнего товара в корзину в виде хтмл(3 раза), из которых один выполняется быстрее чем вы внесли в корзину данные(и получает ответ корзина пуста). Иногда он опережает 2 других запроса, и тогда все ок, более медленные запросы потом заменяют нет товара на товар в корзине. Иногда нет, и получается лажа.
    Перепишите так чтобы в ответе сразу в первом запросе возвращалось содержимое корзины.
    Ответ написан
    Комментировать
  • Как записать utm метки в форму обратной связи?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var utm_source =$("#utm_source").val();такое поле точно есть и оно при отправке не пустое?

    $Body .= $utm_source;А тут вы откуда $utm_source взяли?

    Хинт: $utm_source как $name - должно браться из $_POST, и чет у вас там телефон на месте мэйла образовался, а ошибка про мэйл осталась.
    Ответ написан
  • Почему не приходят сообщения с формы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1)
    if (empty($_POST["email"])) {
        $errorMSG .= "Email is required ";
    } else {
        $email = $_POST["email"];
    }
    тут вообще можно вставить что угодно и проканает, крутая проверка...
    2) как я уже написал в комментах - встроенная mail() - самый неудачный вариант.
    3)
    $success = mail($EmailTo, $Subject, $Body, "From:".$email);
    From:".$email должен указывать имеющийся на хостинге мэйл, для которого есть mx запись, вы же туда пишете совершенно левый адрес.

    UPD:
    function submitForm(){
        // Initiate Variables With Form Content
        //var name = $("#name").val();
        //var email = $("#email").val();
        //var message = $("#message").val();
          let data  = $('#contactForm').serialize();
    
        $.ajax({
            type: "POST",
            url: "php/form-process.php",
            //data: "name=" + name + "&email=" + email + "&message=" + message,
            data: data,
    ....
    Ответ написан
    Комментировать
  • Слишком частое обращение к файлам?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - бОльшая часть файлов используемых при инклуде засядет в опкеше
    Во вторых - 500 чел в 30 сек = 1 000 в минуту, 60 000 в час и 720 000 за полсуток ~= 1 000 000 хитов в сутки. Среднее соотношение хиты/уники = 6/1, то есть у вас +- 166 000 уников в сутки?
    Ответ написан
    Комментировать
  • Как хранить дочерние классы в бд?

    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 комментариев