Создаем раздел «Новости»В этой статье я хочу рассказать вам как создать на php и базе данных MySQL создать раздел «Новости» для своего сайта. В написании раздела Новостей нет ничего сложного – тут главное, как и в любом другом проекте написать ТЗ. Итак: определимся с тем, что мы хотим от раздела Новостей.
В общих чертах мы определились с техническим заданием. Теперь давайте спроектируем архитектуру модуля. Предлагаю слудующую: /inc/vars.php – файл в котором
объявлены основные переменные (константы) – они общие для всего сайта Думаю эта модель оптимально подходит под определение «модульность» сайта. К каждому модулю «инклюдятся» базовые файлы /inc/vars.php и /inc/template.inc. Шаблонизатор тут я не выкладываю – так как вы можете использовать любой шаблонизатор. Дизайн-шаблон так же не описывается – так как это может быть просто пустой файл, в котором присутствует код {MAIN} – контент и {TITLE} – заголовок страницы. Приступим к написанию модуля. Для этого определим базовые переменные Файл базовых переменных и функций /inc/vars.php<? // переменные базы данных $DBAdress = "127.0.0.1"; // логин, пароль администратора $LOGIN = "admin";
function setAuth(){ $auth = 1; @session_start(); global $HTTP_SESSION_VARS; $HTTP_SESSION_VARS["auth"] = 1; $PHPSESSID = session_id(); } /* function testAuth(){ @session_start(); if (session_is_registered("authPrice")){ /* function destroyAuth(){ session_start(); @setcookie("PHPSESSID" , "1" , time() - 60*60*24); }
function importVars(){ global $HTTP_GET_VARS; $EXT_VARS[0] = 0; while(list($key , $value) = each($HTTP_GET_VARS)){ while(list($key , $value) = each($HTTP_POST_VARS)){ return $EXT_VARS; } ?>
Инсталляционный файл /news/install.phpЭтот файл создает в базе данных нужную нам таблицу. Файл крайне прост, поэтому не будем останавливаться на его описании подробно – в нем всего лишь присоединяется файл переменных, затем осуществляется установка соединения с базой данных, затем создается нужная нам таблица, и потом закрывается соединение с БД – вот и все: <? /************************************************** include "../inc/vars.php";
$pdb = mysql_connect($DBAdress , $userName ,
$userPass);
$result = mysql_query("CREATE TABLE tblNews mysql_close($pdb); ?> Администрирование модуля Новостей /news/administrating.phpВ разделе администратора должна быть проверка логина и пароля администратора (авторизация) а так же возможность добавлять, исправлять или удалять новости и добавлять к ним фотографии. Рассмотрим это модуль: adm.zip ( http://webscript.ru///webscript.ru/script/adm.zip ) - размер административного файла более 700 строк кода, поэтому я вынес его в отдельный файл - скачав его, Вы сможете легко во всем разобраться, так как в файле присутствуют все необходимые коментарии! С самым сложным, мы разобрались – мы создали модуль администрирования новостей для нашего сайта. . Теперь добавим парочку тройку новостей и перейдем к написанию клиентской части! Клиентская часть /news/index.phpНаша клиентская часть должна выводить список всех новостей, разбивая его на страницы, в соответствии с датой новости, а так же в случае выбора конкретной новости – показывать ее целиком с фотографией. Что ж, приступим: inxex.zip ( http://webscript.ru///webscript.ru/script/index.zip ) - размер клиентской чайсти более 400 строк кода, поэтому я вынес его в отдельный файл - скачав его, Вы сможете легко во всем разобраться, так как в файле присутствуют все необходимые коментарии! ЗаключениеВот собственно и все! Полторы тысячи строк РНР-кода и профессиональный раздел
новостей готов! Почему я называю его профессиональным? Последние 7 лет мое основное
занятие – разработка и создание сайтов в Новосибирске ( http://webscript.ru///aqua-web.ru ),
этот модуль новостей был создан 5 лет назад и установлен за это время более
чем на 50 сайтов – жалоб не было! |