Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка сайта издательского дома «Деймос»

Содержание:

Введение

В настоящее время, в связи с глобальным развитием сети Интернет, в программировании все более резко выделяться отдельная его отрасль - web-программирование.

Во время стремительного прогресса просто красиво оформленный текст и картинки на web-сайте уже никого не удивят. Требования к сайтам, изменились - теперь для успешного представительства компании в Интернет необходимо предоставить своим посетителям различные возможности: обратную связь, форум, голосование, интернет-магазин, различные web-тесты, поиск по сайту, счётчик посещений и многое другое. При помощи обычного html этого не достичь, ведь html - это язык гипертекстовой разметки - инструмент для создания гиперссылок, вставки изображений, таблиц и др. С помощью языка html легко и быстро можно сделать форму для отправки какого-либо запроса. Такая форма будет иметь все необходимые атрибуты: и поле для ввода текста, и кнопку отправки. Однако, при нажатии на такую кнопку не произойдет ровным счетом ничего - ведь не был задан сценарий действий, которые следует выполнить, чтобы получить результат. Поэтому создание интерактивных компонентов - это задача для web-программирования.

Веб-программирование осуществляется при помощи специальных программных средств - скриптов. Эти программные средства подразделяются на два основных вида: серверные и клиентские. Серверные скрипты выполняются на стороне сервера, то есть того компьютера, на котором размещен сайт. Они выполняются еще до загрузки страниц сайта на компьютер пользователя. В свою очередь, клиентские скрипты выполняются на компьютере клиента уже после загрузки страницы с сервера и не требуют ее дополнительной перезагрузки.

Языки веб - программирования, на которых выполняются и те, и другие скрипты различны. Некоторые из языков используются только для создания серверных скриптов, другие - только для клиентских, а многие языки - для тех и других.

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

Особенности PHP, MySQL, CSS, HTML

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

Особенности PHP

PHP — один из популярных скриптовых языков благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности.

Существуют три основных области, где используется PHP:

Создание скриптов для выполнения на стороне сервера. PHP наиболее широко используется именно таким образом. Все, что вам понадобится, это парсер PHP (в виде программы CGI или серверного модуля), web-сервер и браузер. Для просмотра результатов выполнения PHP-скриптов в браузере, необходим работающий web-сервер и установленный PHP.

Вы можете создать PHP-скрипт, способный запускаться вне зависимости от web-сервера и браузера. Все, что вам потребуется - парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно. Эти скрипты также могут быть использованы в задачах простой обработки текстов.

Подобным образом можно создавать и кроссплатформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с дистрибутивом PHP.

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS X и многих других. Также поддержка PHP включена в большинство современных web-серверов, таких, как Apache, Microsoft Internet Information Server, Personal Web Server и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

Таким образом, выбирая PHP, вы получаете свободу выбора операционной системы и web-сервера. Кроме того, у вас появляется выбор между использованием процедурного или объектно-ориентированного программирования, или же их сочетания.

Особенности MySQL

MySQL - это свободная реляционная система управления базами данных.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL может применяться в качестве SQL-сервера. Это означает, что общаться с сервером можно на языке SQL. Кроме того, MySQL - это ПО с открытым кодом, т.е. его можно свободно изучать и изменять. Пакет можно бесплатно загрузить из сети Интернет для некоммерческого применения.

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

Особенности CSS

CSS (Cascading Style Sheets) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки. Разработан специально для того, чтобы облегчить верстку сайта под определенный дизайн.

CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.

Особенности HTML

HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML. Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.

Во всемирной паутине HTML-страницы, как правило, передаются браузерам от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шифрования.

HTML — теговый язык разметки документов. Любой документ на языке HTML представляет собой набор элементов, начало и конец которого обозначается тегами.

Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, должен начинаться со строки объявления версии HTML <!DOCTYPE>. Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее.

Далее обозначается начало и конец документа тегами <html> и </html> соответственно. Контейнер <head></head> содержит информацию для браузеров и поисковых систем. Между парой тегов <body></body> хранится всё содержание web-страницы, которое отображается на экране монитора в окне браузера. Это может быть простой текст, списки, ссылки, изображения, таблицы и др.

Создание сайта

Разработка структуры сайта

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

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

Обычно статический веб-сайт представляет собой набор файлов HTML, размещенных на веб-сервере.

Достоинства

  • Для создания страницы не обязательно знать языки веб-программирования.
  • Хорошая кэшируемость страницы.
  • Быстрая скорость загрузки страниц.
  • Минимальные требования к веб-серверу и минимальная нагрузка на него.
  • Простота переноса на другой сервер или локальный компьютер.
  • Возможность прямого просмотра файла в браузере, без использования промежуточного ПО (веб сервера, CGI).

Недостатки

  • Невозможность динамической генерации содержимого.
  • Невозможность полноценной поддержки посетителей (выбор внешнего вида, cookie).
  • Для наполнения сайта информацией необходимо получать доступ к файлам-страницам посредством FTP, или сторонним веб-скриптам, позволяющим редактировать страницы.
  • При большом количестве страниц, если возникает необходимость внести однотипные изменения необходимо использовать стороннее ПО.

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

Редактирование собственно содержимого может производиться как средствами самого сайта, так и с применением стороннего ПО. Возможность править все страницы предоставляется только определенной категории пользователей.

Грамотно структурированный сайт – не только предмет гордости самого веб-мастера, но и важное условие благосклонности к сайту со стороны посетителей. Ведь важно не только качество информации, но и ее удобное, последовательное представление. Можно выделить три основных типа структуры сайтов.

Линейная структура.

В данной структуре все страницы сайта идут одна за другой. Сайт читается наподобие обычной книги и страницы в нем не различаются по значимости. Но данная структура, именно по причине своей простоты, имеет и весьма ограниченный потенциал. А посему используется, в основном, только для онлайн-пособий и сайтов-презентаций.

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

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

Древовидная структура.

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

Эта структура — иерархическая, она содержит разделы, которые в свою очередь включают в себя несколько подразделов и так далее. Таким образом различные страницы сайта имеют различные уровни вложенности.

Решетчатая структура.

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

Наиболее сложная из представленных структур. Ее отличие от древовидной заключается в том, что пользователь может перемещаться по страницам сайта как вертикально, так и горизонтально — между страницами различных уровней.

Структура меню

Меню сайта состоит из:

"Главная" - главная страница сайта. На ней отображаются три новые книги, информация от администратора, последняя новостная запись, изображение-баннер;

"Каталог книг" - полный каталог всех книг, имеющихся в издательстве;

"Новости" - в этом пункте отображаются все новости, отсортированные по дате;

"О нас" - здесь находится информация об издательстве;

"Обратная связь" - здесь указаны данные для связи с администратором.

Вывод книг, новостей осуществляется с помощью скрипта PHP. Книги и новости выводятся из базы данных в цикле с присвоением им уникального идентификатора.

Меню и категории книг доступны со всех страниц сайта.

Программная реализация сайта

Этапы разработки:

1. Предварительный этап

Цель предварительного этапа разработки — выявить все требования к дизайну и технологической основе проекта, а также определить цели и задачи ресурса и составить подробный план разработки проекта. В ходе данного этапа составлен «бриф о дизайне», содержащий требования к графическому оформлению проекта.

2. Разработка дизайна и архитектуры проекта

Работа над дизайном сайта предполагает следующие стадии:

  • Анализ требований пользовательского интерфейса.
  • Интуитивно понятная организация материала и продуманная навигация являются необходимыми условиями эффективного дизайна.
  • Разработка концепции дизайна.
  • Результатом работы на этапе разработки дизайна и архитектуры проекта станут эскизы всех типовых страниц веб-сайта.

3. Создание технологической основы

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

Параллельно ведется разработка механизмов и интерфейсов системы администрирования сайта, которая позволит оперативно обновлять материалы сайта и настраивать сервисные функции.

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

4. Наполнение контентом

На этом этапе происходит наполнение контентом баз данных сайта. При необходимости будут созданы и обработаны дополнительные графические материалы для наполнения разделов сайта.

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

5. Тестирование готового решения

Включает в себя проверку работоспособности сайта, проверку на наличие ошибок. Оно помогает выявить недочеты, возникшие в процессе разработки, которые после были исправлены или доработаны.

Заключение

Создание сайта издательства - это формирование мощного инструмента для ведения бизнеса, а также собственной базы данных и онлайн площадки рекламы товаров. В данной курсовой работе рассмотрены актуальные вопросы разработки и создания Web-сайта на примере издательского дома «Деймос».

При этом были решены следующие частные задачи:

  • Изучение инструментов веб-разработки;
  • Выбор стратегии разработки и создания сайта;
  • В результате проведенных работ на базе выбранных технологий был создан веб-сайт издательского дома.

К числу его основных отличительных особенностей можно отнести следующее:

  • Удобный пользовательский интерфейс и простота обращения;
  • Гибкость, открытость и модифицируемость при помощи простых средств.

Таким образом, данная курсовая работа показывает, что поставленные задачи решены полностью.

Список литературы

  1. PHP. Настольная книга программиста, Мазуркевич А., Еловой Д.;
  2. Вёрстка веб-страниц, Мержевич В.;
  3. HTML и CSS. Разработка и дизайн веб-сайтов (ориг. HTML и CSS: Design and Build Websites), Дакетт Д.;
  4. HTML. Самое необходимое, Кисленко Н.;
  5. MySQL. Базовый курс (ориг. Beginning MySQL), Шелдон Р., Мойе Д.
  6. Работа с базами данных. Url: https://msdn.microsoft.com

Приложение

Код программы

<?php

define('DB_NAME', '*****');

define('DB_USER', '*****');

define('DB_PASSWORD', '******');

define('DB_HOST', 'mysql.hostinger.ru');

define('DB_CHARSET', 'utf8');

define('DB_COLLATE', '');

define('AUTH_KEY', 'D/CW+G1s6tJJ|0$f4]6qK93F|5O2+Z+IG(Iws%kf,1t:aW-}YKNdz9G +BFWw2)Z');

define('SECURE_AUTH_KEY', ',NtVet+k#i3}kKMb8=B)oXF[9Z.}Q[D|qhC5_xdlg-d;Pr]mnRB@ QGhs r,|O@A');

define('LOGGED_IN_KEY', 'Cz=]-+asB6pT6n9,^ cWZ5gnnZO26QNZ}_qQAx|3,P8)tftnbQA(-!YuAO0]cYP7');

define('NONCE_KEY', 'KSq@ wC Xuk1zSU6~b6&O&%0W1+Vw5FpCjp7%].=/yw.;oNDh&3,[+h:|=1;u4a2');

define('AUTH_SALT', ';Q|Zb1i:jaWq2OJ,7CF!NH)2p|C#ApKi73 <a?&<j6ao]@U:bNvd/S%QyEZiNVw%');

define('SECURE_AUTH_SALT', 'UC#-Hi#-K26InO{GdVBu|5-*Q9xdmd0vF[jj` SSb88a/s`G0<7YM|afIrbtJ1Cs');

define('LOGGED_IN_SALT', 'h`!8<0+/ 6$uGJ:L[4Q{r]a%zz~R.oK5j6-~1-u~#t^ueJxfZm{J7FZ|G5-}d|ph');

define('NONCE_SALT', '1kQ}BhSim(EsHm5OR]*VhX>f?|R^$,Fp/?()cU DN:;gylQ[:10L1:rT!f~|kV--');

$table_prefix = 'wolivep_';

define('WPLANG', 'ru_RU');

define('WP_DEBUG', false);

if ( !defined('ABSPATH') )

define('ABSPATH', dirname(__FILE__) . '/');

require_once(ABSPATH . 'wp-settings.php');

Файл wp-trackback.php

<?php

if (empty($wp)) {

require_once( dirname( __FILE__ ) . '/wp-load.php' );

wp( array( 'tb' => '1' ) );

}

function trackback_response($error = 0, $error_message = '') {

header('Content-Type: text/xml; charset=' . get_option('blog_charset') );

if ($error) {

echo '<?xml version="1.0" encoding="utf-8"?'.">\n";

echo "<response>\n";

echo "<error>1</error>\n";

echo "<message>$error_message</message>\n";

echo "</response>";

die();

} else {

echo '<?xml version="1.0" encoding="utf-8"?'.">\n";

echo "<response>\n";

echo "<error>0</error>\n";

echo "</response>";

}

}

$request_array = 'HTTP_POST_VARS';

if ( !isset($_GET['tb_id']) || !$_GET['tb_id'] ) {

$tb_id = explode('/', $_SERVER['REQUEST_URI']);

$tb_id = intval( $tb_id[ count($tb_id) - 1 ] );

}

$tb_url = isset($_POST['url']) ? $_POST['url'] : '';

$charset = isset($_POST['charset']) ? $_POST['charset'] : '';

mb_convert_encoding().

$title = isset($_POST['title']) ? wp_unslash($_POST['title']) : '';

$excerpt = isset($_POST['excerpt']) ? wp_unslash($_POST['excerpt']) : '';

$blog_name = isset($_POST['blog_name']) ? wp_unslash($_POST['blog_name']) : '';

if ($charset)

<p>

<label for="user_pass"><?php _e('Password') ?><br />

<input type="password" name="pwd" id="user_pass" class="input" value="" size="20" /></label>

</p>

<?php

do_action( 'login_form' );

?>

<p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <?php esc_attr_e('Remember Me'); ?></label></p>

<p class="submit">

<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Log In'); ?>" />

<?phpif ( $interim_login ) { ?>

<input type="hidden" name="interim-login" value="1" />

<?php} else { ?>

<input type="hidden" name="redirect_to" value="<?php echo esc_attr($redirect_to); ?>" />

<?php } ?>

<?php if ( $customize_login ) : ?>

<input type="hidden" name="customize-login" value="1" />

<?php endif; ?>

<input type="hidden" name="testcookie" value="1" />

</p>

</form>

<?php if ( ! $interim_login ) { ?>

<p id="nav">

<?php if ( ! isset( $_GET['checkemail'] ) || ! in_array( $_GET['checkemail'], array( 'confirm', 'newpass' ) ) ) :

if ( get_option( 'users_can_register' ) ) :

$registration_url = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );

/** This filter is documented in wp-login.php */

echo apply_filters( 'register', $registration_url ) . ' | ';

endif;

?>

<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>" title="<?php esc_attr_e( 'Password Lost and Found' ); ?>"><?php _e( 'Lost your password?' ); ?></a>

<?php endif; ?>

</p>

<?php } ?>

<script type="text/javascript">

function wp_attempt_focus(){

setTimeout( function(){ try{

<?php if ( $user_login || $interim_login ) { ?>

d = document.getElementById('user_pass');

d.value = '';

<?php } else { ?>

d = document.getElementById('user_login');

<?php if ( 'invalid_username' == $errors->get_error_code() ) { ?>

if( d.value != '' )

d.value = '';

<?php

}

}?>

d.focus();

d.select();

} catch(e){}

}, 200);

}

<?php if ( !$error ) { ?>

wp_attempt_focus();

<?php } ?>

if(typeof wpOnload=='function')wpOnload();

<?php if ( $interim_login ) { ?>

(function(){

try {

var i, links = document.getElementsByTagName('a');

for ( i in links ) {

if ( links[i].href )

links[i].target = '_blank';

}

} catch(e){}

}());

<?php } ?>

</script>

<?php

login_footer();

break;

} // end action switch

Файл index.php

<?php

define('WP_USE_THEMES', true);

require( dirname( __FILE__ ) . '/wp-blog-header.php' );

Файл .htaccess

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress