Создаем раздел "Новости"Источник: webscript Дмитрий Астраков
В этой статье я хочу рассказать вам как создать на 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 - размер административного файла более 700 строк кода, поэтому я вынес его в отдельный файл - скачав его, Вы сможете легко во всем разобраться, так как в файле присутствуют все необходимые коментарии! С самым сложным, мы разобрались - мы создали модуль администрирования новостей для нашего сайта. Теперь добавим парочку тройку новостей и перейдем к написанию клиентской части! Клиентская часть /news/index.phpНаша клиентская часть должна выводить список всех новостей, разбивая его на страницы, в соответствии с датой новости, а так же в случае выбора конкретной новости - показывать ее целиком с фотографией. Что ж, приступим: inxex.zip - размер клиентской чайсти более 400 строк кода, поэтому я вынес его в отдельный файл - скачав его, Вы сможете легко во всем разобраться, так как в файле присутствуют все необходимые коментарии! |