Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Разработка системы управления содержимым

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Листинг класса для работы с регулярными выражениями. Особенности классов для проверки данных при регистрации и отправки сообщений. Отправка ссылки для активации на почту пользователя, описание основных классов, анализ их назначения и листинг функций.
Краткое сожержание материала:

Размещено на

ВВЕДЕНИЕ

Процесс разработки сайта является очень сложным и делом, который требует больше времени и внимания. Сайт должен быт простым, красивым и понятным. Данный продукт является системой, который можно создать простые блоги, сайты визитки или сайт новостей. Он создан в принципе MVC системы. Данный принцип является очень популярным и простым при разработке подобных систем.

В этом документе приведены все классы основные классы системы и функции с описанием. Он состоит из четырех разделов.

На первом разделе названием Регулярные выражении приведено описание функций, которые работает с регулярными выражениями.

Раздел Отправка писем содержит описание классов и функций который работает с отправкой электронных писем в системе.

Описание функций раздел который является самым большим и имеющий содержание о всех функциях классах и модулях системы.

1. РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ

Ранее для поиска в строке подстроки использовались строковые функции, ограничиваясь при этом случаями точного соответствия строк и подстрок. Для работы со строками можно использовать также регулярные выражения, представляющие собой, по сути, мини-язык описаний для поиска в строках информации по заданному шаблону. С помощью регулярных выражений можно найти в строке подстроку, удовлетворяющую заданному шаблону и извлечь ее, проверить существует ли заданная строка и т.д.

1.1 Класс для работы с регулярными выражениями

Ниже приведено листинг класса для работы с регулярными выражениями. Название класса regular имеющий функции Activate, getResult, checkRegular.

Данная функция позволяет автоматически загрузить список всех регулярных выражений который используется в системе.

Листинг 1.1. Функция Activate

public static function Activate()

{

include DIR_MODULES."regulars/regulars.php";

if(isset($regs))

{self::$regulars = new params($regs);}

else

{ self::$regulars = new params();}

}

Функция chekRegular проверят на существования регулярного выражения в системе.

Листинг 1.2. Функция checkRegular

public static function checkRegular($name)

{

return self::$regulars->is_isset($name);

}

Функция выполняет проверку заданных данных с используя регулярных выражений и возвращает результат. Данная функция имеет два параметра первый object это значение который надо проверит и второй это filter_type который указывает тип фильтра.

Листинг 1.3. Функция getResult

public static function getResult($object,$type,$filter_type="preg_match")

{ if(isset($object) and $filter_type=="preg_match")

{ if(!self::$regulars->is_isset($type))

{return false;}

else

{return preg_match(self::$regulars->getValue($type),$object);}

}

elseif($filter_type=="preg_match_all")

{if(!self::$regulars->is_isset($type))

{return false;}

else

{$l = preg_match_all(self::$regulars->getValue($type),$object,$mass);

return $mass;

}

}

}

1.2 Класс для проверки данных при регистрации

Данный класс позволяющий выполнить проверку данных пользователя. В классе создано функции login ,password, mail, dateage.

Данная функция позволяет сделать проверку логина на существования и корректность с использованием регулярного выражения.

Листинг 1.4. Функция login

public static function login($l)

{

if(!isset($l))

{

self::$log['login'] = XATO_LOGIN_YOQ;

return false;

}

elseif(strlen($l)<6 and strlen($l)>12)

{

self::$l['login'] = XATO_LOGIN_KK;

return false;

}

elseif(!regular::getResult($l,'login'))

{

self::$log['login'] = XATO_LOGIN_NOTOGRI;

return false;

}

elseif(data::$user->getValue("login","user_login='$l'"))

{

self::$log['login'] = XATO_LOGIN_MAVJUD;

}

else

{

return true;

}

}

Password - функция который проверятся с использованием регулярных выражений, сравнивает две пароли на правильность и возвращает данные шифрованный методом md5.

Листинг 1.5. Функция password

public static function password($p1,$p2)

{

if(!isset($p1) or !isset($p2))

{

self::$log['password'] = XATO_PAROL_YOQ;

}

elseif(strlen($p1)<6 and strlen($p2)>12)

{

self::$log['password'] = XATO_PAROL_KK;

return false;

}

elseif($p1==$p2)

{

self::$log['password'] = XATO_PAROL_OXSHASHMAS;

return false;

}

elseif(!regular::getResult($p1,'password'))

{

self::$log['password'] = XATO_PAROL_NOTOGRI;

return false;

}

else

{

return true;

}

}

Функция mail проверят на корректность заданного электронного адреса.

Листинг 1.6. Функция mail

public static function mail($m)

{

if(!isset($m))

{

self::$log['mail'] = XATO_EMAIL_YOQ;

return false;

}

elseif(!regular::getResult($m,'email'))

{

self::$log['mail'] = XATO_EMAIL_NOTOGRI;

return false;

}

elseif(strlen($m)<6 and strlen($m)>255)

{

self::$log['mail'] = XATO_EMAIL_KK;

return false;

}

else

{

return true;

}

}

2. ОТПРАВКА ПИСЕМ

Самый простой способ отправить письмо при помощи PHP - воспользоваться стандартной функцией mail. Она имеет следующий синтаксис:

bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])

2.1 Класс для отправки сообщений

Данный класс позволяет отправлять электронные письма в PHP и имеет опции задержки писем. В классе Mail имеется следующие функции Send, Delay, Abort, Complete.

С помощью функции Send задается данные отправляемого письма и он имеет следующие параметры:

· $to - электронная почта получателя

· $subject - тема отправляемого письма

· $message - текст отправляемого письма

· $from - адрес электронной почты отправителя

· $reply - адрес электронной почты который должен отправляется ответ.

Листинг 2.1. Функция Send

static function Send($to, $subject, $message, $from, $reply = null){

if (empty($reply)){

$reply = $from;

}

$reply = "Reply-To: $reply\r\n";

$headers = "MIME-Version: 1.0\r\n".

"Content-Type: text/html; charset=UTF-8\r\n".

"From: $from\r\n".

$reply.

"X-Mailer: PHP/".phpversion();

$subject = mb_encode_mimeheader($subject, 'UTF-8', 'B', "\r\n", 9);

if (self::$delay){

self::$mail[] = array($to, $subject, $message, $headers);

}else{

try{

mai...

Другие файлы:

Разработка системы управления содержимым сайта
Преимущества и недостатки статических и динамических сайтов. Эволюция и классификация web-приложений. Требования, предъявляемые к системам управления...

Система бронирования мест в отелях города
Разработка системы управления гостиничного портала компании "Петербургские Отели" с интеграцией комплекса модулей для управления его содержимым. Основ...

Разработка Web-приложений на PHP и PostgreSQL. Руководство разработчика и администратора
Книга представляет собой всеобъемлющее учебное пособие и справочное руководство по совместному применению одного из наиболее популярных языков PHP и м...

Разработка автоматической системы управления железнодорожным переездом
Разработка устройства-системы автоматического управления, которая отвечает за безопасность движения транспорта через железнодорожный переезд. Разработ...

Создание системы управления содержимым (CMS) на примере web представительства фирмы недвижимости
Традиционные направления использования интернет-представительств. Обязанности и функции корпоративного сайта. Статические и динамические web-сайты. CM...