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

Разработка сайта личной страницы «Кичаевой Екатерины»»

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

ОСНОВНАЯ ЧАСТЬ

1. Техническое задание и выбор средств реализации

Объем требуемых услуг и их последовательность:

1. Сбор требований;

2. Анализ

3. Проектирование;

4. Сбор контента;

5. Дизайн и верстка;

6. Программирование;

7. Тестирование;

9. Возможная доработка;

В начале определимся с основными требованиями, которые приведены в таблице 1.

Таблица 1. Техническое задание

Назначение

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

Название

Сайт-визитка «Кичаевой Екатерины»

Тип сайта

Личная страница, сайт-визитка

Язык сайта

Русский

Целевая аудитория

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

Объем и предоставление информации (текстовой и граф.)

Предоставляется заказчиком (в электронном виде);

Текстовой-не менее 1 кб, графической-не менее 1 кб;

Концепция, макет, отчет и готовый макет, (в электронном виде .jpg + исходник (. psd, muse. Html (упакованы));

Кол-во страниц в проекте

Содержит одну главную (домашнюю) страницу.

Навигация на сайте

Якоря; Регистрация с разделением на группы;

Структура

Меню; О себе; Работы; Деятельность; Отзывы; Контакты; Вход/регистрация

Оформление

Текстовая информация: Изображения

Основной браузер

Кросс-браузер (поддержка всех браузеров);

Объем сайта

Не оговаривается;

Почта

DogPatrik@yandex.ru

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

Начнем со структуры. Сам сайт является презентацией именно отдельно взятого человека, а не компании в целом и активности на сайте будет не много, как и бизнес-процессов. Что связано с бизнес-процессами, то исследована конкретно деятельность заказчика и задачей является упрощение продвижения через Интернет посредством создания страницы. Рассмотрим рисунок 1, который показывает процесс через диаграмму IDEF0.

Untitled Diagram (2)

Рисунок 1. Диаграмма IDEF0

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

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

Untitled Diagram (2)

Рисунок 2. Структура сайта.

На главной странице будет вход/регистрация пользователей с помощью которых мы и будем в дальнейшем разграничивать права. Теперь нам нужно разобраться в чем отличие действии администратора от обычного пользователя. Пользователь будет иметь возможность: увидеть приветствие со своим логином, введенным при регистрации и кнопкой выхода и так же добавить отзыв. Разграничение прав будет происходить непосредственно через СУБД. Права администратора отличаются хоть и схожи в том, что мы можем увидеть, что зашел именно администратор. Но данный пользователь будет иметь право добавлять изображения. Данная активность также будет реализовываться непосредственно через СУБД. Существенным отличием в дизайне стоит сторониться и поэтому все активности будут надписями с анимацией как призыв к действию. Анимация будет реализовываться на уровне написания каскадной таблице стилей (CSS).

Выбор для разработки программного обеспечения (ПО) целевой страницы исходя из поставленных задач включает в себя следующие основные этапы:

1) Реализация программных компонентов бизнес логики;

2) Верстка шаблона;

3) Реализация основного функционала и интерактивности сайта;

Для реализации разметки выбраны языки:

HTML5 – стандартный язык разметки документов в сети Интернет. В основу web-страниц положен именно этот язык (или XHTML). Данный язык интерпретируется браузерами и отображается в виде документа, в удобной форме;

СSS (каскадная таблица стилей) – используется как средство оформления внешнего вида страниц сайта.

Для создания динамики выбраны:

PHP5 – скриптовый язык программирования для создания динамических веб-сайтов. С поддержкой многих хостинг-провайдеров.

MySQL5 – СУБД. Осуществляет разработку и поддержку приложении.

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

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

Что касаемо создания динамики и работоспособности страницы обычные средства тут работать не будут и приходят на помощь локальные сервера с поддержкой языков PHP и MySQL.

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

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

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

Так же для работы с СУБД нам пригодится phpMyAdmin, который встроен в Denwer.

2. Описание модулей серверной части программы и их взаимодействие

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

На основе того, построено дерево программных модулей, как представлено на рисунке 3.

C:\Users\Катрин\AppData\Local\Microsoft\Windows\INetCache\Content.Word\Untitled Diagram (1).png

Рисунок 3. Дерево программных модули системы

Описание функций модулей представлено в таблице 2.

Таблица 2. Описание функций модулей

№ п/п

Наименование модуля

Функции модуля

1

Глобальный модуль

Ядро

2

Модуль «Управление контентом»

Содержит функции управлением контента и фотогалерея

3

Модуль «Коммуникации и обратная форма связи»

Содержит функцию входа и регистрации пользователей

Описание дерева вызова модулей представлено на рисунке 4.

C:\Users\Катрин\AppData\Local\Microsoft\Windows\INetCache\Content.Word\Untitled Diagram.png

Рисунок 4. Дерево вызовов программных модулей

Ниже рассмотрим список входной и нормативно-справочной информации.

Входная информация. Под входной информацией понимается вся информация, необходимая для решения задачи. С этой целью составляется перечень входной информации. Входной информацией являются: имя, телефон, почта, сообщение.

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

А теперь разберем подробнее создание серверной части. Определим в каком порядке будем реализовывать проект:

Первый этап – создание файловой системы всего сайта;

Второй этап – разметка дизайна;

Третьи этап – разработка базы данных;

Четвертый этап – реализация входных данных проекта.

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

Рисунок 5. Папки в локальном сервере.

Далее внутри создаем все нужные файлы и папки, как изображено на рисунке 6. Папка для CSS, файлов, шрифтов, изображений и для подключения к базе данных. После создаем файлы в которых будем прописывать разметку. Таких файлов будет 5. Один главный файл - index. Необходимы еще 3 файла разметки: версия для администратора и пользователя, а также форма регистрации. С расширением php и 5 файл с разметкой для выдачи ошибки 404 написанный на html.

Рисунок 6. Папки и файлы на локальном сервере

Второй этап подразумевает создание дизайна с помощью языков разметки html и css. Пример скриншота с кодом представлен на рисунке 7. Для последующих быстрых поисков по разметке разделим код css на три части, как на рисунке 8. Основной, текст и изображение. В основном будет содержаться код связанный с разметкой «тела» сайта и анимации элементов. В «text» связанный с оформлением текстовой части. В последнем оформление изображений.

Рисунок 7. Пример кода Html

Рисунок 8. Файлы CSS

На третьем этапе по тому же принципу делим на пять файлов с расширением php в папке sql для соединения с базами данных. Один файл с подключением. Второй с кодом передачи на почту. Третий для загрузки файлов. Четвертый для передачи формы. Пятый для разделения по правам. Файлы с названиями представлены на рисунке 9.

Рисунок 9. Файлы php

Код формы уже написан и можно приступать к подключению баз данных. Создаем 2 базы через phpmyadmin: «file» и «users», как на рисунке 10 и рисунке 11.

Рисунок 10. База данных

Рисунок 11. Таблица в базе данных

Создаем подключение и проверяем работоспособность через вывод фразы «Соединение установлено» и «База работает» на сайте. Это хорошо демонстрирует рисунок 12.

Рисунок 12. Проверка соединения с базой

Четвертый этап занесем код в еще один файл относящийся к базам данных - «regist.php», который напрямую будет отвечать за новые данные и их проверку. В самом файле будет присутствовать форма и проверка на наличие данных в базе. Представлен скриншот написания кода на рисунке 13.

Рисунок 13. Код для regist.php

Осуществление авторизации. Начнем редактирование в отдельно созданном файле – «valid.php» - лежащем в папке sql. Тут будет код отвечающий за разделение по правам.

Из уже оговоренных требований у нас есть условие отправки на почту данных по форме. В файлах «form_sms» и «connect_reg» создадим отдельно код под отправку на почту данных из главной страницы и из прав доступных зарегистрированному пользователю.

3. Описание структуры базы данных и ее функции

Имея уже установленное представление входной и выходной информации, главной задачей при разработке информационной базы является создание грамотной структуры базы данных (БД), обеспечивающей:

- простоту и удобство работы;

- соответствующие условия доступа с учетом разграничений;

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

Из проанализированного стоит уделить время разделению части данных. Одни будут с условием передачи на почту, а остальных таблиц нам понадобится немного исходя из функционала проекта. Для начала выделим какие данные будем передавать по почте. Ими станут все, что вводится из формы «Напиши мне». А также при входе с правами пользователями форма отправки отзыва. С которыми будем разбираться ниже. Как правило, все начинается с заполнения форм на сайте. В дальнейшем по мере работы сайта базы изменяются и дополняются оперативной информацией. Информация хранится в виде записей в базе данных.

ER модель определяет состав и взаимосвязь таблиц, отражающих содержание информационной модели в терминах СУБД, и представлена на рисунке 14.

Рисунок 14. ER-модель

Таблицы проектируемого сайта создаются в СУБД – MySQL. Редактируется в таком средстве как phpmyadmin. Этот менеджер входит в комплект к локальной системе на которой и создавался весь проект.

Структура записей таблицы «Пользователи» представлена в таблице 5.

Таблица 3.Структуры записей таблицы «Пользователи»

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Ключ

Id

int

3

primary key

Логин

Login

varchar

255

Пароль

Password

varchar

20

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

Структура записей таблицы «Файл» представлена в таблице 6.

Таблица 4. Структуры записей таблицы «Файл»

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Ключ

Id

int

primary key

Имя

Name

int

В таблице «Файл» будут записываться файлы, загружаемые пользователем с правами администратором.

Любые изменения в структуре таблицы будут происходить посредством работы в phpMyAdmin. Это сократит время на процедуры так как в программу уже встроен язык SQL. Некоторые примеры приведены в приложении.

4. Описание структуры клиентской части

Не один сайт не будет иметь успеха без простого и понятного интерфейса. Данный курсовой проект создан на основе минималистичного дизайна, который позволит пользователю не отвлекаться на лишнее и даст найти нужную информацию. Шаблон представлен в приложении 1. Это один из главных способов задержать пользователей на сайте для достижения главной цели. Рассмотрим подробнее какое информационное наполнение имеет главная страница. При открытии сайта пользователь должен увидеть меню навигации по сайту – рисунок 15. Кегль и оцентрованность меню позволит быстрее найти нужную информацию. Анимация при наведении дает понимание, что при нажатии на одну из ячеек меню есть действие. Так же присутствует надпись – цитата, которая даст понять к какой сфере услуг относится заказчик и его отношение к работе. На изображении имеется значок «прокрутка вниз» давая понять, что внизу имеется информация и сам сайт имеет одностраничную структуру.

Рисунок 15. Меню

Прокрутив вниз появляется информация об заказчике. Информация краткая два абзаца. Присутствует фотография. В режиме отладки размещено изображение со стока. Фотография поможет в дальнейшем расположить к себе заказчиков - Рисунок 16.

Рисунок 16. Раздел «Обо мне»

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

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

Рисунок 17. Раздел «Работы»

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

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

Рядом находится простая форма входа на сайт. Представляя из себя ввод логина и пароля. После нажатия на регистрацию пройдет переход на форму заполнения. В данной форме присутствует переход обратно на главную страницу и такие же поля для заполнения, под которым имеется место для вывода ошибки при проверке в базе. Кнопка «вход» подразумевает переход на страницу с похожим дизайном, но имеющимися дополнительными возможностями действия исходя из прав пользователя. Дизайн представлен на рисунке 18.

Рисунок 18. Раздел сайта «Контакты»

4.1. Описание интерфейса «Обычный пользователь».

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

4.2. Описание интерфейса «Администратор».

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

4.3. Инструкция пользователя.

Вход пользователя осуществляется через форму «Вход / Регистрация». Данную форму можно найти в меню нажав на «Контакты» либо пролистав до конца страницу. В этой форме нужно ввести логин в поле «Логин» и пароль в поле «Пароль». Если ранее не была произведена регистрация, то нажав кнопку «Регистрация», находящаяся рядом с кнопкой «Войти», будет произведен переход на страницу где в похожей форме нужно ввести будущие логин и пароль. Если пользователь случайно нажал на кнопку регистрация и у него есть аккаунт, то он может нажать «У меня уже есть аккаунт» внизу формы либо вернуться, нажав стрелку в окне браузера. Дизайн кнопок представлен на рисунке 19.

Рисунок 19. Формы кнопки отправки

Под формой регистрации в случаи успешной проверки данных появится надпись: «Данные добавлены». Дизайн представлен на рисунке 20. Если же пароль занят или меньше 4 или пароль не был введен появится предупреждающая надпись с ошибкой. Дизайн представлен на рисунке 21 и рисунке 22.

Рисунок 20. Форма регистрации

Рисунок 21. Форма регистрации

Рисунок 22. Форма регистрации

Рядом с формой входа присутствует форма отправки сообщения, представляющая собой поля с именем, почтой, телефоном, сообщением. После отправки появится сообщение об успешной отправки данных. Пример письма представлен в приложении 2. Дизайн представлен на рисунке 23 и рисунке 24.

Рисунок 23. Форма обратной связи

Рисунок 24. Результат отправки данных

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

Рисунок 25. Дизайн меню

Рисунок 26. Дизайн отзыва

Существуют права администратора, для которого тоже имеются свои возможности. Возможность добавить файл работы. Через меню «Работы» или прокрутить вниз. Там под изображениями есть форма загрузки изображения и кнопка «Добавить работу». Дизайн представлен на рисунке 27

Рисунок 27. Дизайн добавления работ

При загрузке появляется название файла и после этого нужно отправить файл через нажатие кнопки «Добавить работу». Дизайн представлен на рисунке 28 и рисунке 29.

Рисунок 28. Дизайн отправки работы

Рисунок 29. Дизайн отправки работы

ЗАКЛЮЧЕНИЕ

В итоге проведения курсовой работы отмечается, что задачи, обозначенные во введении, были достигнуты. Разработан новый сайт. В последующим сайт поможет продвижению заказчика. Сайт был разработан на языках разметки HTML и CSS, а также динамику проекту обеспечивает Php и использование СУБД MySql.

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

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

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

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

Дизайн построен на применении минимального графического интерфейса, что обеспечивает интуитивную работу.

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Web- ресурсы:

Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016

Книжные издания:

Дакетт Дж. HTML и CSS. Разработка и дизайн веб-сайтов. 2019 г.

Скляр Д. Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов. 2017 г.

Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 2019 г.

Мейур Э. CSS. Карманный справочник. 2019 г.

Кириеченко А. Хрусталев А. HTML5 + CSS3. Основы современного веб-дизайна. 2018 г.

ПРИЛОЖЕНИЕ

C:\Users\Катрин\AppData\Local\Microsoft\Windows\INetCache\Content.Word\Exigo.jpgC:\Users\Катрин\AppData\Local\Microsoft\Windows\INetCache\Content.Word\Exigo.jpg

Макет-сайта1Макет-сайта2

Приложение 1. Шаблон сайта, выполненный в Adobe Photoshop

Приложение 2. Пример письма с сообщением

Файл connect.php

<?

//Подключаем соединение

$link = mysqli_connect ('localhost','root','');

$end = "";

$lucky = " ";

if (!$link) {

$end = "Ошибка связи".mysqli_connect_error($link);

}

else {

echo $lucky_link = "Соединение установлено";

}

//подключение базы

$db = mysqli_select_db( $link,'users'); //база

if ($db == false) {

echo $end = " Ошибка подключения базы ".mysqli_error($db);

}

else {

echo $lucky = " База users работает ";

}

?>

Приложение 3. Код соединение с базой

<?

Файл «connect_reg.php»

if (isset($_POST['button_contact'])) {

//принятие данных

$name = trim($_POST['name']);

$email = trim($_POST['email']);

$tel = trim($_POST['tel']);

$massage = trim($_POST['message']);

$to = 'dogpatrik@yandex.ru';

$from = 'dogpatrik@yandex.ru';

$subject = 'None';

$message = 'Пользователь ' . $_POST['name'] . ' прислал письмо : <br>' . $_POST['message'] . '<br> Связаться с ним можно по email - ' . $_POST['email']. '<br> Телефон - ' . $_POST['tel'];

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

$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

if (mail ($to, $from, $subject, $message, $headers)) {

echo "<a href = '../index.php' > Сообщение отправлено</a>";

}

else {

echo "<a href = '../index.php' > Сообщение не отправлено</a>";

}

}

?>

Приложение 4. Код для отправки сообщения на почту с главной страницы

Файл «form.php»

<?

//Подключаем соединение

$link = mysqli_connect ('localhost','root','');

$end = "";

$lucky = " ";

if (!$link) {

$end = "Ошибка связи".mysqli_connect_error($link);

}

else {

$lucky_link = "Соединение установлено";

}

//подключение базы

$db = mysqli_select_db( $link,'file'); //база

if ($db == false) {

$end = " Ошибка подключения базы ".mysqli_error($db);

}

else {

$lucky = " База file работает ";

}

if (isset($_FILES['file'])) {

//принятие данных

$file = $_FILES['file'];

$_FILES['file']['error'] == 0 or 'Сервер не получил изображения'. $php_errors[$_FILES['file']['error']];

$current_path = $_FILES['file']['tmp_name'];

$filename = $_FILES['file']['name'];

$new_path = '../files/';

$upload = move_uploaded_file($current_path, $new_path);

if (!$upload) {

print ("Не загружен файл");

}

echo $success = "Файл успешно загружен";

}

?>

Приложение 5. Код для отправки изображения от администратора

Файл «valid.php»

<?

if (isset($_POST['b_login'])) {

$admin_login= mysqli_query($link,"SELECT * FROM user WHERE login='$login' AND password = '$password' AND admin"); //Проверка существования пользователя

$admin_row_login = mysqli_fetch_array($admin_login);

if ($admin_row_login= true) {

include "admin.php"

}

else {

include "user.php"

}

}

?>

Приложение 6. Разделение прав

Файл «regist.php»

<?

//подключаем соединение

include "sql/connect.php";

//form

echo "<div id ='form' class='form'>

<h2 class='login_in'>Регистрация</h2>

<div class='email'>

<form method='POST'>

<input type = 'text' name = 'login' size = '25' placeholder = 'Логин' class='login' required <br>

<br><br>

<input name = 'password' size = '25' type = 'password' placeholder = 'Пароль' class='password' required>

<br>

<br>

<span> <input type='submit' name='button_reg'> </span> </form>";

$error = false;

$error_text = " ";

$success = " ";

if (isset($_POST['button_reg'])) {

//принятие данных

$login = trim($_POST['login']);

$password = trim($_POST['password']);

//валидность логин

$valid_login= mysqli_query($link,"SELECT * FROM user WHERE login='$login' LIMIT 1"); //Проверка существования пользователя

$row_login = mysqli_fetch_array($valid_login);

//проверка логина

if (!empty($row_login['id'])) {

$error = true;

echo $error_text .= "<p>Логин $login занят</p>";

}

elseif (empty($login)) {

$error = true;

echo $error_text .= "<p>Вы не ввели логин</p>";

}

//валидность пароля

elseif (empty($password)) {

$error = true;

echo $error_text .= "<p>Вы не ввели пароль</p>";

}

elseif (strlen($password) < 4) {

$error = true;

echo $error_text .= "<p>Пароль меньше 4</p>";

}

}

//вставка

if (!$error) {

mysqli_query( $link, "INSERT INTO user VALUES ('$id','$login', '$password')") or die (' Ошибка вставки: '.mysqli_error($link));

echo $success .= " <p>Данные добавлены </p>";

}

echo "<a href = 'index.php#email' class = 'exit'>Уже есть аккаунт</a>";

?>

Приложение 7 Валидация