Я хорошо знаю расширение mysqli. С этим расширением обычно используются "пользовательские" исключения, а показанные возможности предназначены прежде всего для отладки.
NikSolovov : В поиске нашел много вариантов и не совсем понимаю какой правильный, я не силен в коде.
Можно использовать возможности моего домашнего проекта Парковка доменов 2.0. Чтобы не вникать в API, можно просто прислать таблицу соответствия в любом текстовом или табличном формате, например:
Redirect 301 [/]divan httрs://site2.ru/divan etc.
Переадресация с главной настраивается без фильтра прямо в основных настройках домена, но можно указать в той же таблице, например:
Yandex-007 : А как сделать, чтобы при нажатии на кнопку отправить не было перехода на страницу приветствия, а на этой же странице пропадала форма сбора заявок и на её месте показывалось сообщение, что заявка принята.
Переадресация "обратно" на страницу с формой (в адрес нужно добавить признак, указывающий на необходимость вывода сообщения вместо формы или рядом с формой). Или AJAX.
В таком случае бы у вас проходила вставка новой записи прекрасно.
Автор не описал подробно результат вставки, а просто написал, что "код продолжает выполняться".
Кстати советую обратить внимание на это
Я хорошо знаю расширение mysqli. С этим расширением обычно используются "пользовательские" исключения, а показанные возможности предназначены прежде всего для отладки.
В поиске нашел много вариантов и не совсем понимаю какой правильный, я не силен в коде.
Можно использовать возможности моего домашнего проекта Парковка доменов 2.0. Чтобы не вникать в API, можно просто прислать таблицу соответствия в любом текстовом или табличном формате, например:
Переадресация с главной настраивается без фильтра прямо в основных настройках домена, но можно указать в той же таблице, например:
Я так и не понял, почему mysqli_query не возвращает false.
Успешно решил вопрос проверкой дубликата перед записью.
Это ошибочное решение.
Хотя бы выполняйте сопутствующее действие (операцию над файлом) в зависимости от результата INSERT, а не SELECT.
Почитал. Там предлагают проверять условие mysql_errno() == 1062.
Да, есть такая методика. Но обычно используют более простую: IGNORE и сравнение количества вставляемых записей и вставленных.
Там ошибка duplicate key, но все равно mysqli_query возвращает true, поэтому и создана тема.
Не знаю, 10 лет пишу свои сайты на своем самописе. У меня есть база-движок, который усовершенствую от сайта к сайту
Это значит, что у вас свой фреймворк. Фреймворк не определяется количеством пользователей. Так что название темы в изрядной степени - нелепица.
Здесь основной вопрос, как вы пришли к такому положению дел. Почему не взяли за основу какой-нибудь существующий (микро)фреймворк?
И вот я не знаю - правильно это или нет?
Можно не использовать множественные use, если это целесообразно.
Можно использовать абсолютные имена, если они устоявшиеся и используются однократно.
Можно использовать относительные имена:
А как сделать, чтобы при нажатии на кнопку отправить не было перехода на страницу приветствия, а на этой же странице пропадала форма сбора заявок и на её месте показывалось сообщение, что заявка принята.
Если все-таки используется HTTP-01, возможно, CF блокирует запросы валидации.
Как выше написали, лучше отключить HTTPS за прокси. В том числе и на хостинге, если там нет обычного HTTP-зеркала.
Переадресацию HTTP -> HTTPS нужно переложить на прокси или при необходимости откорректировать, чтобы не было циклической переадресации.