По первому пункту: Как сделать авторизацию пользователя? (Добавление)
Для админки с одним админом аутентификационные данные и прочие параметры можно и в файле хранить. Ключ авторизации лучше хранить в отдельном файле, т.к. он обычно чаще изменяется. Для одного админа нет необходимости в обеспечении уникальности ключа.
Обычно реальные файлы пропускаются, хотя у вас может стоять правило на пропуск только «классических» статичных файлов. Не видя .htaccess, здесь сложно что-то сказать. Сделайте хак прямо во фронте (index.php)
Вы можете получить кол-во полученных писем после последней проверки. Если не брать в расчет отправленные и делать проверки в районе полночи, можно получить все за период с послед. проверки до тек. момента.
Фигурные скобки и их содержимое не для PHP, а для используемого вами шаблонизатора. Копайте его синтаксис. Думаю, вы правильно уловили суть этой записи.
Возможно, можно подобрать и более простое условие на основе имеющихся переменных, но в общем, если не вдаваться в детали имеющегося окружения, для конкретной статьи можно сделать так:
Что такое CONF_SHOP_OBZOR? В коде выше в константах содержатся имена таблиц, а это что? Если тут тоже имя таблицы, добавьте аналогичный код.
Вообще же метаданные можно хранить во всех записях, на основе кот. строятся страницы, и написать универсальный код выборки этих данных, а заодно и все прочих полей. В нормальных движках это часто автоматом делается – не нужно писать ни единой строчки кода.
xborn, браузер в принципе может, но не обязан открывать txt-файлы. Может, вы хотите открывать содержимое txt-файлов, как вебстраницы? Если так, то просто перехватывайте в скрипте запросы к файлам и выдавайте их содержимое (readfile), тогда к ним автоматически будут добавляться заголовки HTML-страниц. Если все же нужно выдавать содержимое файлов, как текст на странице, обрамите его шапкой и подвалом, можно загнать в тег PRE, и обязательно перед выводом в браузер кодируйте спец. HTML-символы.
Забыли $row заполнить (mysqli_fetch_assoc($result)). Значение одного поля можно прямо в простую переменную записать, если уверены, что оно есть (вижу, все равно никаких проверок не делаете):
(Добавление)
Меня немного сбило с толку, что вы про главы говорили. Красиво, когда используется послед. нумерация глав в том числе и в ссылках. То же касается и какого-либо цельного произведения, разбитого на страницы. Если же речь идет о каких либо независимых статьях, то использование не последовательных id считается вполне нормальным. Например, во многих статейниках непосредственно на страницах статей используются подобные ссылки на соседние, а последовательная нумерация страниц используется в списке статей.
Сейчас 20, потом может быть 100500, а вы будете пытаться использовать все тот же код, дабы не изобретать новый. Изначально должен быть выбран правильный подход, но в принципе решать вам – дерзайте.
Проблема в том, что чтобы получить тек. линейный индекс i по id в ссылке, нужно шерстить массив, поэтому я стока букв и написал в первом моем посте, чтобы объяснить, что лучше использовать др. подход.