Проверьте тело запроса, которое вы отправляете из кода и сравните с тем, что вы отправляете из постмана.
Код состояния ответа HTTP 422 Unprocessable Entity указывает, что сервер понимает тип содержимого в теле запроса и синтаксис запроса является правильным, но серверу не удалось обработать инструкции содержимого.
Дмитрий Дев, язык развивается. Что-то новое добавляется, что-то старое исключается, а что-то может быть изменено. И это нормально. И вполне естественно, что при обновлении, в php 8 могут возникнуть проблемы, там где в php 7 их не было.
Судя по ошибке, где-то передается неподдерживаемый тип.
UPD:
Заказчик требует обновить до версии PHP 8
Ну, если у вас заказчик "шарит" в теме, то он должен понимать, какой геморрой может вылезти после обновления. Могу предположить, что подобных ошибок у вас может быть еще очень много, на исправление которых можно также очень много времени потратить.
Смотрите какой модуль использует MLiteSpecial::OnPageStartSpecial(). Когда найдете, что это за модуль можно будет принимать решение по дальнейшим действиям:
1) попытаться обновить модуль;
1) удалить модуль, если он не нужен;
2) откатывать версию php, если нужен;
poshalim, теперь вам нужно создать маршрут с параметрами для страницы товара.
Например, как здесь:
Чтобы вы могли перейти, например, по ссылке /product/123, где 123 - это артикул товара и, соответственно, уже по этому артикулу показать нужный товар на странице.
Валентин, стандартными правами являются права доступа 755 или 750 для папок и 644 или 640 для файлов, но возможны и исключения.
Кроме этого нужно проверить Ваш .htaccess. Еще проблема может быть в установленном плагине.
Максим Морев, но я согласен, что здесь промах автора вопроса, так как такие моменты надо обсуждать заранее. Как, например, со стоматологом к которому я хожу, когда спрашиваю сколько будет стоит такая-то услуга - он называет цену, но предупреждает, что если вскрыть и там окажется всё плохо, то это лечение будет стоить отдельных денег.
Heinemann, тут вам либо разбивать на два mysqli_query, получив из первого запроса id добавленной строки через mysqli_insert_id, либо читать результат mysqli_multi_query через mysqli_next_result, перед тем как вы вызовите авторизацию пользователя. Я бы сделал первый вариант.
Heinemann, ошибка возникает потому-что вы используете mysqli_multi_query для регистрации пользователя, а потом отправляете запрос mysqli_query для авторизации. Вам нужно сначала прочитать результат из mysqli_multi_query через mysqli_next_result(), а потом делать запрос на авторизацию пользователя. А лучше для регистрации пользователя также использовать mysqli_query. Это происходит потому-что mysqli по-умолчанию использует не буферизованные запросы.
Евгений Залецкий, попробуйте как вам выше написали, сделать запрос с обратными кавычками возле полей: $sql = "INSERT INTO articles (`titel`, `content`) VALUES (:titel, :content)";