Искал решение, почти везде писалось одно и тоже - нужно выставить кодировку при создании базы, нужно вставить команды в конфиг mysql и тому подобное. Всё это у меня стоит, но помогло ток одно решение, а именно - выставлять кодировку при подключение к бд.Кодировку абсолютно правильно сказано - надо выставлять везде, так как во первых при переносе или изменении конфигурации софта все съедет на дефолтные настройки, которые везде разные. По этому и есть конфиги и настроечные переменные. Единственно кодировку соединения лучше поставить utf8mb4, так как это более современный и обратно совместимый формат.
UTF-8, выставляю с помощью - header('Content-Type: text/html; charset=UTF-8');Это можно спокойно вынести в конфиг php.ini, или добавить более универсальный код, не требующий руками каждый раз заголовки править:
ini_set('default_charset', 'utf-8');
require_once 'controllers/authController.php';здесь отсутствует закрывающий тег пхп, после которого идет хтмл. Подозреваю что там и открывающего нет (в коде вы его не привели).
require 'templates/header.php';
ini_set('error_reporting',E_ALL);
ini_set('display_errors', 1);
session_start();
...
var forms = document.querySelectorAll(".form")Чет я не увидел в коде ни одного элемента с классом form... Если предполагалось выбрать формы, то все таки стоит вешать слушатель на субмит, а не на клик...
Если все работает, то зачем мне помещать код в эти функции? Можете привести пару примеров, в которых код не будет работать, если я не буду помещать его в эти функции?Не факт что на низкой скорости загрузки весь хтмл прогрузится к моменту загрузки скрипта и все элементы будут доступны. Кроме того - для улучшения загрузки скрипты стараются подгружать в самом низу дом дерева, то есть перед закрывающим боди тегом. Это ускоряет загрузку контента, не тратя времени на прогрузку скриптов.
Как написать код один раз, чтоб он выводил все id на неё, в цене я просто как-то указывал, что вот тут такой-то id и он подставляет цену.Если вам нужны именно ВСЕ записи на одной странице - просто не указывайте условие по ид, тогда вам выдаст все что есть. Получаете список и в цикле while прогоняете ваш mysqli_fetch_assoc($product);. Другой вопрос что страница с условно 5000 наименованиями, мягко говоря не очень читабельна. Но это уже отдельный вопрос.
a = localStorage.setItem (time , date.getMinutes());
// https://developer.mozilla.org/ru/docs/Web/API/Storage/setItem#возвращаемые_значения
b = localStorage.setItem(znach , znn); // то же самое, скорее всего задумывалось getItem()
if (a == date.getMinutes()) // логично что здесь фигня будет
Но это не происходит,Все что "не происходит", "не работает", "работает не так" - термины уборщицы из туалета. Любое программное действие вызывает какой-то описываемый результат - ошибку (которую нужно привести дословно) или конкретное действие (которое тоже поддается описанию, например нужно А, но происходит Б).
По мне при вводе в текстовое поле должен быть GET запрос, и формируется $sql переменный и получаются данные.Скорее всего все так и происходит, только данные заговнячены, запрос гоняется 2 раза просто так, а с полученными данными все равно ничего не делается...
Но вот правильно срезать до формата день-месяц и посчитать тоже само не получается.Естественно, даты они такие... Особенно интересно все будет выглядеть в вашем варианте где-то в районе декабря, когда дата дня рождения окажется вообще меньше текущей на год, а по факту еще остается пару дней.
Между полными датами с помощью date_diff получается все посчитатьЧто логично, единственное что не понятно - зачем считать обрезанные даты?
Итак, в предыдущем вопросе я сделал блок try except в надежде, что оно восстановит мне соединение, но только что я обратился к боту и ошибка вернулась.Вам в прошлом ответе уже подсказали, что вы не имеете в итоге никакой ссылки на объект подключения, а тупо произвели некоторые действия, ака карго культ. На самом деле вам нужно полностью повторить код подключения в ексепшене, так как cursor у вас все равно остается пустой, а должен содержать ресурс соединения (или объект подключения, не помню как в питоне точно называется).