Дипломная (вкр): Создание динамического Web-сайта с использованием языка программирования PHP

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Создание динамического Web-сайта с использованием языка программирования PHP











Курсовой проект

по дисциплине «Интернет технологии»

Тема:

Создание динамического Web-сайта с использованием языка программирования PHP


ОГЛАВЛЕНИЕ

Введение

1. Создание Web-сайта для выбранного объекта

2. Создание базы данных

3. Язык программирования PHP

3.1 Подключение базы данных к сайту

3.2 Регистрация пользователя

3.3 Авторизация пользователя

3.4 Управление пользователями

3.5 Гостевая книга

4. Технология AJAX

5. Способы защиты от SQL-инъекций

Выводы

Список использованной литературы


ВВЕДЕНИЕ


Сегодня очень сложно представить что-то популярнее интернета. А молодых специалистов в сфере web-программирования становится все больше. В современных ВУЗах открываются новые специальности, основным предметом изучения которых являются интернет технологии.

С 1962 года министерство обороны США активно вкладывало деньги в разработки технологий взаимодействия между компьютерами. Благодаря этим исследованиям, в 1969 году, американскими военными был создана локальная сеть - предшественница Интернета. С 1972 года функционирует всеми нами любимая электронная почта.

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

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

Технология PHP обладает несомненными преимуществами перед конкурентами из-за своей гибкости, безопасности, отличной интегрируемостью с серверными программными решениями как Apache и, конечно же, своей простоты и лёгкости применения. Количество сайтов на PHP уже исчисляется миллионами и постоянно растёт, откуда можно сделать вывод о возрастающей актуальности технологии в ближайшем будущем.

1. Создание Web-сайта для выбранного объекта


Интернет является огромной глобальной системой, которая состоит из взаимосвязанных гипертекстовых документов. Эти гипертекстовые документы мы называем web-сайтами. Другими словами сайт (от англ. website: web - «паутина, сеть» и site - «место», буквально «место, сегмент, часть в сети») - совокупность электронных документов (файлов) частного лица или организации в компьютерной сети, объединённых под одним адресом (доменным именем или IP-адресом).

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

Объект, для которого мы будем разрабатывать сайт - автомобильный интернет-салон “KingAuto” (объект является выдуманным, любые совпадения с действительностью - случайны. Фирменный стиль разработан самостоятельно).

Сайт автомобильного интернет-салона “King Auto” - это информационный сайт, основной задачей которого является предоставление пользователям самой свежей и актуальной информации о товарах или услугах, которые предлагает фирма. На этом сайте будет собрана вся информация о марках и моделях автомобилей всего мира, их года выпуска и характеристики. Так как фирма специализируется на продаже автомобилей разных марок, то целевая аудитория, в основном, мужчины.

Рассмотрим структуру сайта:

Шапка сайта (логотип и название)

Меню

Новости

Реклама

Реклама



подвал

Рис. 1.1 Структура сайта

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

Рис. 1.2 Макет сайта в среде Photoshop

Сайт состоит из трех блоков: 1 блок - меню, состоящее из 5 ссылок на другие страницы сайта, 2 блок - разделы и 3 блок - новости. Что касается цветового решения, я остановила свой выбор на двух цветах, это темно-серый цвет и оранжевый.

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

Таким образом, мы имеем одну главную страницу, которая ссылается на остальные html страницы, как показано на рисунке 1.3. Стиль шрифтов, фоны, размер блоков описаны в файле CSS.

Рис. 1.3 Готовые HTML страницы

Итак, открыв наш сайт через какой-либо браузер, получаем следующий результат:

Рис. 1.4 Сайт автомобильного интернет салона «King Auto»

На данном этапе сайт нельзя назвать динамичным, так как страницы нашего сайта - это простой набор HTML кода.

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

Для того, что бы сайт стал динамичным, усовершенствуем его с помощью языка web-программирования PHP: создадим базу данных и подключим её к сайту, настроим авторизацию и регистрацию пользователя и т.д.

2. Создание базы данных


База данных (БД) - совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ.

Для понятия «база данных» существует несколько классификаций. По модели представления данных БД можно классифицировать следующим образом: картотеки, иерархические, сетевые, многомерные, объектно-ориентированные, дедуктивные и реляционные. Далее речь пойдет о реляционной модели.

В реляционных базах данных вся информация заключена в таблицы. Столбцы в такой таблице имеют конкретный тип и размер; все содержимое ячеек столбца должно соответствовать их типу. Строки представляют собой набор неструктурированных данных и образуют математическое отношение. Таким образом, вся база данных - это множество таблиц-отношений, отсюда и название модели (от англ. relation - отношение).

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

Создавать БД можно как и с помощью PHP сценария, так и с помощью готовой среды разработки баз данных PHPMyAdmin.является программой "визуального" управления базами данных MySQL. Данная программа написана на PHP и служит для наглядного вывода содержимого базы данных, а так же для простого и понятного управления ею.

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

Пусть фирма специализируется на продаже автомобилей, а также предоставляет услуги по оформлению необходимых документов для покупки автомобиля. Продажу автомобилей фирма осуществляет с помощью посредников, имея прямые связи с фирмами, которые производят автомобили, тем самым, заказывать автомобиль через фирму «King Auto» выгодней и дешевле. Тогда проектируемая база данных состоит из 3-х сущностей: поставщики - услуги фирмы - заказчики. Рассмотрим ER-диаграмму:

Рис. 2.1 ER-диаграмма проектируемой базы данных

Таким образом, можем создать реляционную модель базы данных для автомобильного интернет-салона «King Auto» рис. 2.2:

Код Маш.

Имя Маш.

Код Мод

Имя Мод.

Год Вып

Код Куз.

Кол. дв.

тип

Кол. мест

Код Двиг.

V

1

Audi

1

Audi A3

1998

1

4

Х

4

1

1576

Б

1

Audi

2

Audi A4

2006

2

5

С

4

2

1657

Б



Цилинд.

Код. Пост.

Имя Фирм.

Лицо

Код Зак.

Имя зак.

4

1

Audi

И.

1

П

4

1

Audi

И.

2

Ф

Рис. 2.2 Не нормализированная реляционная модель БД

Приведя БД к третьей нормальной форме и используя интерфейс программы PHPMyAdmin создадим базу данных для нашего сайта.

Рис. 2.3. База данных, созданная в среде PHPMyAdmin

3. Язык программирования PHP


PHP (англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools[3] - «Инструменты для создания персональных веб-страниц») - скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов

В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl - интерпретатора скриптов - перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter - «Личная Домашняя Страница /Интерпретатор форм»).

Сегодня в области программирования для сети Интернет PHP - один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

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

·    автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

·              взаимодействие с большим количеством различных систем управления базами данных;

·              автоматизированная отправка HTTP-заголовков;

·              работа с HTTP-авторизацией;

·              работа с cookies и сессиями;

·              работа с локальными и удалёнными файлами, сокетами;

·              обработка файлов, загружаемых на сервер;

·              работа с XForms.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.

Входит в LAMP - распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).

3.1    Подключение базы данных к сайту


Есть несколько способов работы с MySQL в PHP. Все эти способы появлялись, затем устаревали, заменяясь новыми. И на данный момент самый популярный способ - это объекто-ориентированная модель общения с MySQL. Именно с использованием этого способа мы и будем работать с базами данных.

Алгоритм подключения БД следующий:

1. Подключение.

2.      Отправка запросов и получение результата.

.        Закрытие подключения.

Подключиться к базе данных через PHP можно следующим образом:

<?php $mysqli = new mysqli('localhost', 'Admin', 'pass', 'mybase');

?>

Тут мы создаём экземпляр объекта MySQLI, передавая конструктору следующие параметры:

1. Имя хоста, на котором работает MySQL.

.        Пароль.

.        Имя базы данных, с которой мы хотим работать.

Если какие-нибудь данные будут неверные, то, соответственно, конструктор вернёт ошибку, и подключения не будет.

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

<?php $mysqli = @new mysqli('localhost', 'Admin', 'pass', 'mybase'); if

(mysqli_connect_error())

{ echo "Подключение невозможно: ".mysqli_connect_error();}?>

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

Далее выполним закрытие подключения. В примере ниже мы подключаемся к базе данных, а после проверки на успешность подключения, закрываем это соединение:

<?php $mysqli = @new mysqli('localhost', 'Admin', 'pass', 'mybase'); if

(mysqli_connect_errno())

{ echo "Подключение невозможно: ".mysqli_connect_error(); } $mysqli-

>close();?>

3.2    Регистрация пользователя


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

Для регистрации пользователя создадим файл write.php , который будет содержать следующий код:

<?php(isset($_POST['name']) and isset($_POST['sname']) and

isset($_POST['tel']) and isset($_POST['city'])) // проверяем заполнены ли

поля

{'config.php';

$dcnx=mysql_connect("$HOST", "$USER", "$PASS"); // подключаемся к

базе данных(!$dcnx) exit(mysql_error());(!mysql_select_db($DB,$dcnx)) exit(mysql_error());

$query = mysql_query("INSERT INTO Zakazchiki (id_zak,familia,

name_zak, city, tel)

VALUES('".$_POST["id"]."','".$_POST["sname"]."','".$_POST["name"]."',

'".$_POST["city"]."','".$_POST["tel"]."');"); // пишем запрос на

добавление пользователя в существующую базу данных

if(!$query)

{"<p>Ошибка в запросе</p>";

exit();

}echo "Пользователь ".$_POST['name']." был успешно создан";

}

{"

<form method=post align=center action=write.php>:<br> <input type=text name=id><br>

//Создание полей регистрационной формы

Фамилия:<br> <input type=text name=sname><br>

Имя: <br> <input type=text name=name><br>

Город: <br><input type=text name=city><br>

Источник: https://www.bibliofond.ru/detail.aspx?id=871096