Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Failed to execute 'appendChild' on 'Node': Unexpected identifier 'array'

Ошибка: Failed to execute 'appendChild' on 'Node': Unexpected identifier 'array' звучит, как результат некорректного использования JavaScript.

Эта ошибка говорит о том, что при вызове метода appendChild() была предоставлена неверная или неподходящая переменная. Метод appendChild() ожидает, что ему будет передан узел DOM (например, элемент HTML), а не что-то другое (например, массив или строка).

Возможные причины ошибки:
  1. Передача неправильного типа данных: Возможно, вы передали массив или строку вместо узла DOM.
  2. Неверное наименование переменной: Возможно, переменная названа неправильно или содержит ошибку в наименовании.
  3. Неправильное создание элемента: Возможно, элемент не был создан корректно перед попыткой его добавления.

Пример возможной ошибки:
let elements = []; // Здесь подразумевается массив элементов

for (let i = 0; i < elements.length; i++) {
    container.appendChild(elements[i]); // Ошибка возникнет, если elements[i] не является узлом DOM
}

Как исправить ошибку


  1. Проверь
...

PHP: Ошибка "Creation of dynamic property"

Начиная с версии PHP 8.2, появилась новая ошибка "Creation of dynamic property", которая предупреждает разработчиков о недопустимом создании динамических свойств в классах. Эта ошибка сигнализирует о переходе PHP к более строгим стандартам объектно-ориентированного программирования и подготовке к отказу от старых практик.

Что такое ошибка "Creation of dynamic property"?


Ошибка "Creation of dynamic property" возникает, когда программа пытается создать новое свойство класса во время выполнения, не объявляя его предварительно в определении класса. Ранее такое поведение разрешалось, но начиная с PHP 8.2, оно объявлено устаревшим и в будущем будет полностью запрещено.

Пример кода, вызывающего ошибку:
class ExampleClass {}
$obj = new ExampleClass();
$obj->newProperty = 'value'; // Создание динамического свойства

Почему это считается проблемой?


Ранее PHP позволял динамически создавать свойства, что приводило к следующим проблемам:
  • Низкая читаемость кода: Невозможно было сразу
...

Как найти ошибку на сайте в коде PHP

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



Почему важно находить ошибки:
  • Безопасность: Некоторые ошибки могут привести к уязвимостям сайта, позволяя злоумышленникам получать несанкционированный доступ.
  • Производительность: Исправленные ошибки позволяют ускорить работу сайта и уменьшить нагрузку на сервер.
  • Пользовательский опыт: Устраняя ошибки, вы улучшаете качество обслуживания ваших клиентов.

Шаг 1: Включаем отображение ошибок (Блог: Поиск ошибок в PHP | Дебаг)
По умолчанию PHP скрывает большинство ошибок от конечных пользователей. Чтобы увидеть ошибки, добавьте следующий код в начало файла:
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

Это позволит вам видеть предупреждения, заметки и фатальные ошибки.

Шаг 2: Используйте инструменты для дебага
  • Xdebug
...

Cannot read properties of undefined (reading 'querySelector')

Ошибка: Cannot read properties of undefined (reading 'querySelector') говорит о том, что метод: querySelector пытается обратиться к элементу, которого не существует.

Возможные решения:
  • Убедитесь, что элемент, к которому обращаетсь, существует, на самом деле.
  • Расположите JavaScript в нижнюю часть Вашего документа.
...

Поиск ошибок в PHP | Дебаг

При написании php скрипта легко допустить ошибку, из-за которой скрипт работать будет неправильно, либо вообще работать не будет. Страница пустая (белая) и ошибку очень сложно найти среди десятка тысяч символов... Для того что бы быстро найти ошибку, можно в ваш файл, после <?php добавить следующий код:
ini_set('display_errors', 'On');
error_reporting(E_ALL);

после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).

Еще как вариант: добавить в файл .htaccess строку:
php_flag display_errors 1


Возможно, будет интересно:
...