Создание сайта "Органайзер"

Изучение технологий HTML, CSS, языка программирования PHP и методов работы с СУБД MySQL. Разработка сайта "Органайзер", позволяющего добавлять события на конкретную дату, просматривать, изменять и удалять их. Применение каскадной таблицы стилей CSS.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.07.2017
Размер файла 894,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Структура PHP
  • 1.1 Включение PHP в HTML
  • 1.2 Символ $
  • 1.3 Операторы
  • 1.3.1 Арифметические операторы
  • 1.3.2 Операторы присваивания
  • 1.3.3 Операторы сравнения
  • 1.3.4 Логические операторы
  • 1.4 Типы переменных
  • 1.5 Константы
  • 1.6 Функции
  • 2. СУБД MySQL
  • 2.1 Работа с БД через консоль
  • 2.1.1 Создание базы данных
  • 2.1.2 Создание таблицы
  • 2.1.3 Добавление данных к таблице
  • 2.1.4 Создание индекса
  • 2.2 Создание запросов к базе данных MySQL
  • 2.2.1 SELECT
  • 2.2.2 DELETE
  • 2.2.3 WHERE
  • 2.2.4 UPDATE...SET
  • 2.3 Запросы к базе данных MySQL с помощью PHP
  • 2.4 Создание файла регистрации
  • 2.5 Подключение к MySQL
  • 2.6 Выбор базы данных
  • 2.7 Создание и выполнение запроса
  • 2.8 Извлечение результата
  • 2.9 Отключение
  • 3. Обработка форм
  • 3.1 Создание форм
  • 3.2 Извлечение отправленных данных
  • Заключение
  • Список использованных источников
  • Приложения

Введение

Сочетание PHP и MySQL - один из самых удобных подходов к динамическому веб-конструированию, основанному на использовании баз данных. Этот подход удерживает свои позиции, несмотря на вызовы, брошенные интегрированными средами разработки, такими как Ruby on Rails, освоение работы с которыми дается значительно труднее. Благодаря открытости исходных кодов (в отличие от конкурирующей технологии Microsoft .NET Framework) это технологическое сочетание можно использовать совершенно бесплатно, поэтому оно очень популярно у веб разработчиков. Любой нацеленный на результативность разработчик, использующий платформу UNIX/Linux или даже Windows/Apache, нуждается в серьезном освоении этих технологий. В сочетании с партнерскими технологиями CSS и HTML5 можно создавать сайты калибра таких промышленных стандартов, как Facebook, Twitter и Gmail.

Разумеется, без средств отслеживания тех изменений, которые пользователь вносит во время работы с вашим сайтом, нельзя в полной мере говорить о возможностях динамического изменения выходного кода HTML. На заре создания Всемирной паутины многие сайты использовали неструктурированные текстовые файлы для хранения таких данных, как имена пользователей и пароли. Но такой подход мог вызвать ряд проблем, если файл не был надежно заблокирован от повреждений, возникающих при одновременном доступе к нему множества пользователей. К тому же неструктурированный файл мог разрастаться до таких размеров, что с ним непросто было работать, не говоря уже о трудностях, связанных с попытками объединения файлов и осуществления в них сложных поисковых операций за какое-нибудь мало-мальски приемлемое время. Именно в таких случаях большое значение приобретает использование реляционных баз данных со структурированной системой запросов. И MySQL, будучи совершенно бесплатной и установленной на огромном количестве веб-серверов системой, оказывается как нельзя кстати. Она представляет собой надежную и исключительно быстродействующую систему управления базами данных, использующую команды, похожие на простые английские слова.

При проработке цели были поставлены следующие задачи:

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

· Создать сайт «Органайзер»;

1. Структура PHP

1.1 Включение PHP в HTML

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

Программа на PHP отвечает за возвращение файла в чистом виде, пригодном для отображения в браузере. В простейшем случае на выходе документа PHP будет получаться только код HTML. Чтобы убедиться в этом, можно взять любой HTMLдокумент, например файл index.html, сохранить его под именем index.php, и он будет отображаться точно так же, как исходный файл. Для запуска команд PHP нужно изучить новый тег. Его открывающая часть имеет следующий вид: <?php

Первое, что может броситься в глаза, - незавершенность тега. Это обусловлено тем, что внутри тега могут помещаться целые фрагменты кода PHP. Они заканчиваются, только когда встречается закрывающая часть тега такого вида: ?>

Небольшая PHP-программа Hello World:

<?php

echo "Hello world";

?>

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

1.2 Символ $

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

<?php

$mycounter = 1;

$mystring = "Hello";

$myarray = array("One", "Two", "Three");

?>

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

1.3 Операторы

Операторы - это математические, строковые, логические команды и команды сравнения, такие как «плюс», «минус», «умножить» и «разделить». Код PHP во многом похож на обычные арифметические записи. Например, в результате работы следующего оператора выводится число 8: echo 6 + 2;

1.3.1 Арифметические операторы

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

1.3.2 Операторы присваивания

Эти операторы используются для присваивания значений переменным. К ним относится самый простой оператор =, а также операторы +=, -= и т. д. Оператор += вместо полного замещения находящегося слева значения добавляет к нему значение, которое находится справа от него. Итак, если переменная $count имела начальное значение 5, то оператор: $count += 1;

устанавливает значение $count равным 6 точно так же, как более привычный оператор присваивания: $count = $count + 1;

1.3.3 Операторы сравнения

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

1.3.4 Логические операторы

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

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

1.4 Типы переменных

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

1.5 Константы

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

К примеру, константа может использоваться для хранения местоположения корневого каталога вашего сервера (папки, содержащей основные файлы вашего сайта). Определить такую константу можно следующим образом: define("ROOT_LOCATION", "/usr/local/www/");

Затем для чтения содержимого константы нужно просто сослаться на нее как на обычную переменную (но не предваряя ее имя знаком доллара): $directory = ROOT_LOCATION;

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

1.6 Функции

программирование сайт таблица

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

Помещение кода в функцию не только сокращает размер исходного кода и делает его более удобным для чтения, но и дает дополнительные функциональные возможности (эта игра слов носит преднамеренный характер), поскольку функциям могут передаваться параметры, которые вносят изменения в характер их работы. Функции также могут возвращать значения вызывающему их коду. Чтобы создать функцию, нужно ее объявить:

<?php

function longdate($timestamp)

{

return date("l F jS Y", $timestamp);

}

?>

2. СУБД MySQL

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

В названии MySQL составляющая SQL означает Structured Query Language - язык структурированных запросов. Если характеризовать его в общих чертах, то это язык, основанный на словах английского языка и используемый также в других системах управления базами данных, например Oracle и Microsoft SQL Server. Он разработан для предоставления возможности создания простых запросов к базе данных посредством команд следующего вида:

SELECT title FROM publications WHERE author = 'Charles Dickens';

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

2.1 Работа с БД через консоль

2.1.1 Создание базы данных

Если вы работаете на удаленном сервере, у вас только одна учетная запись пользователя и вы имеете допуск только к одной созданной для вас базе данных, то можете перейти к изучению пункта «Создание таблицы» далее. А если это не так, то продолжим, введя следующую команду для создания новой базы данных по имени publications:

CREATE DATABASE publications;

При успешном выполнении команды будет выведено сообщение, пока не имеющее для нас особого смысла, -- Query OK, 1 row affected (0.38 sec) Запрос выполнен, обработана 1 строка за 0,38 с. После создания базы данных с ней нужно будет работать, поэтому даем следующую команду:

USE publications;

Теперь должно быть выведено сообщение об изменении текущей базы данных (Database changed), и после этого база будет готова к продолжению работы со следующими примерами.

2.1.2 Создание таблицы

В данный момент вы должны находиться в системе MySQL, обладать всеми (ALL) правами, выделенными для базы данных publications и быть готовыми к созданию своей первой таблицы.

CREATE TABLE classics (

author VARCHAR(128),

title VARCHAR(128),

type VARCHAR(16),

year CHAR(4)) ENGINE MyISAM;

После ввода команды MySQL должна выдать ответ: Query OK, 0 rows affected, а также показать время, затраченное на выполнение команды.

2.1.3 Добавление данных к таблице

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

INSERT INTO classics(author, title, type, year)

VALUES('Mark Twain','The Adventures of Tom Sawyer','Fiction','1876');

INSERT INTO classics(author, title, type, year)

VALUES('Jane Austen','Pride and Prejudice','Fiction','1811');

INSERT INTO classics(author, title, type, year)

VALUES('Charles Darwin','The Origin of Species','Non-Fiction','1856');

После каждой второй строки вы должны увидеть сообщение об успешной обработке запроса - Query OK. Как только будут введены все строки, наберите следующую команду, которая отобразит содержимое таблицы:

SELECT * FROM classics;

Первая часть, INSERT INTO classics, сообщает MySQL, куда нужно вставлять следующие за ней данные. Затем в круглых скобках перечисляются четыре имени столбцов: author, title, type и year, которые отделяются друг от друга запятыми. Таким образом MySQL сообщается, что именно в эти четыре поля будут вставляться данные. Во второй строке каждой команды INSERT содержится ключевое слово VALUES, за которым следуют четыре строковых значения, взятых в кавычки и отделенных друг от друга запятыми. Они обеспечивают MySQL теми четырьмя значениями, которые будут вставлены в четыре ранее указанных столбца. Каждый элемент данных будет вставлен по порядку в соответствующие столбцы. Если порядок перечисления столбцов и данных будет случайно перепутан, данные попадут не в те столбцы. А количество указанных столбцов должно соответствовать количеству элементов данных.

2.1.4 Создание индекса

Возможности быстрого поиска можно добиться путем добавления индекса либо при создании таблицы, либо в любое время впоследствии. просто. Существуют, к примеру, различные типы индексов, такие как INDEX, PRIMARY KEY и FULLTEXT. Кроме того, нужно решить, каким столбцам нужен индекс, а для этого нужно спрогнозировать, по каким данным этих столбцов будет осуществляться поиск. Индексы можно усложнять, комбинируя в одном индексе данные из нескольких столбцов

Если представить себе поисковые операции применительно к таблице classics, становится ясно, что поиск может осуществляться во всех столбцах.

ALTER TABLE classics ADD INDEX(author(20));

Команда создает индекс для столбцов, ограничивая индекс только первыми 20 символами. Например, когда MySQL индексирует название: The Adventures of Tom Sawyer на самом деле в индексе будут сохранены только первые 20 символов: The Adventures of To Это делается для сокращения размера индекса и для оптимизации скорости доступа к базе данных. Я выбрал 20 символов, поскольку их должно быть достаточно для обеспечения уникальности большинства строк, встречающихся в данных столбцах. Если MySQL обнаружит два индекса с одинаковым содержимым, ей нужно будет понапрасну потратить время на обращение к самой таблице и на проверку проиндексированного столбца, для того чтобы определить, какая именно строка действительно соответствует условиям поиска.

2.2 Создание запросов к базе данных MySQL

2.2.1 SELECT

SELECT используется для извлечения данных из таблицы. Ее основной синтаксис имеет следующий вид:

SELECT поля FROM имя_таблицы;

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

SELECT author,title FROM classics;

2.2.2 DELETE

Когда нужно удалить строку из таблицы, применяется команда DELETE. Ее синтаксис похож на синтаксис команды SELECT, он позволяет сузить диапазон удаляемой информации до конкретной строки или строк путем использования таких спецификаторов, как WHERE и LIMIT.

DELETE FROM classics WHERE title='Little Dorrit';

В этом примере команда DELETE выдается для всех строк, в столбце title которых содержится строковое значение Little Dorrit. Ключевое слово WHERE обладает большими возможностями, и очень важно, чтобы оно было набрано правильно. Ошибка может навести команду не на те строки (или вообще ни к чему не привести в том случае, если условию WHERE не будет найдено ни одного соответствия). Поэтому теперь нужно уделить немного внимания этому условию, играющему очень важную роль в языке SQL.

2.2.3 WHERE

Ключевое слово WHERE позволяет сузить диапазон действия запроса, возвращая только те данные, в отношении которых конкретное выражение возвращает истинное значение. За счет использования оператора равенства = код возвращает только те строки, в которых значение столбца title в точности соответствует строке Little Dorrit. При проведении поисковых операций можно также осуществлять проверку на соответствие шаблону, для чего применяется спецификатор LIKE, позволяющий вести поиск в разных частях строк. Этот спецификатор должен использоваться с символом % до или после некоторого текста. Если его поместить до текста, это будет означать «что-нибудь до», а если после текста -- «что-нибудь после». Символ % будет также соответствовать пустому месту в той позиции, которую он занимает. Иными словами, он может соответствовать пустой строке.

2.2.4 UPDATE...SET

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

UPDATE classics SET author='Mark Twain (Samuel Langhorne Clemens)'

WHERE author='Mark Twain';

UPDATE classics SET category='Classic Fiction'

WHERE category='Fiction';

В первом запросе, действие которого затрагивает только одну строку, к литературному псевдониму Mark Twain добавляется настоящее имя писателя - Samuel Langhorne Clemens, заключенное в скобки. А вот второй запрос воздействует на три столбца, поскольку он заменяет все появления слова Fiction в столбце category термином Classic Fiction.

2.3 Запросы к базе данных MySQL с помощью PHP

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

Процесс использования MySQL с помощью PHP заключается в следующем.

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

2. Выбор базы данных, которая будет использоваться.

3. Создание строки запроса.

4. Выполнение запроса.

5. Извлечение результатов и вывод их на веб-страницу.

6. Повторение шагов с 3-го по 5-й до тех пор, пока не будут извлечены все необходимые данные.

7. Отключение от MySQL.

2.4 Создание файла регистрации

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

<?php // login.php

$db_hostname = 'localhost';

$db_database = 'publications';

$db_username = 'имя_пользователя';

$db_password = 'пароль';

?>

Переменная $db_hostname сообщит PHP, какой компьютер следует использовать при подключении к базе данных. Ее присутствие обусловлено тем, что вы можете получить доступ к любой базе данных MySQL на любом компьютере, подключенном к той машине, на которой вы установили PHP, и она может потенциально включать в себя любой хост на просторах Всемирной паутины. $db_database отвечает за имя базы данных к которой осуществляется подключение. Переменным $db_username и $db_password нужно присвоить значения пользовательского имени и пароля, которые применяются при работе с MySQL.

2.5 Подключение к MySQL

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

<?php

require_once 'login.php';

$db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die("Невозможно подключиться к MySQL: " . mysql_error());

?>

В этом примере запускается PHP-функция mysql_connect, которой нужны три параметра: имя хоста (hostname) MySQL-сервера, имя пользователя (username) и пароль (password). При успешном подключении эта функция возвращает идентификатор сервера, а в случае неудачи -- значение FALSE. Работа функции die, которой созвучна ее имени («прекратить») и заключается в выходе из PHP с сообщением об ошибке, если переменная $db_server не имеет истинного значения.

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

2.6 Выбор базы данных

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

<?php

mysql_select_db($db_database)

or die("Невозможно выбрать базу данных: " . mysql_error());

?>

Для выбора базы данных используется команда mysql_select_db. Ей нужно передать имя требуемой базы данных и сервер, к которому вы подключены. Был использован PHP-оператор or, означающий следующее: «Если при выполнении предыдущей команды произойдет сбой, нужно выполнить тот код, который следует за этим оператором».

2.7 Создание и выполнение запроса

Оправка запроса к MySQL из PHP сводится к простому вызову функции mysql_query.

<?php

$query = "SELECT * FROM classics";

$result = mysql_query($query);

if (!$result) die ("Сбой при доступе к базе данных: " . mysql_error());

?>

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

При сбое переменная $result содержит значение FALSE. Поэтому пример завершается проверкой значения этой переменной. Если оно равно FALSE, значит, произошла ошибка и должна быть выполнена функция die.

2.8 Извлечение результата

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

$query = "SELECT * FROM classics";

$result = mysql_query($query);

if (!$result) die ("Сбой при доступе к базе данных: " . mysql_error());

$rows = mysql_num_rows($result);

for ($j = 0 ; $j < $rows ; ++$j)

{

$row = mysql_fetch_row($result);

echo 'Author: ' . $row[0] . '<br>';

echo 'Title: ' . $row[1] . '<br>';

echo 'Category: ' . $row[2] . '<br>';

echo 'Year: ' . $row[3] . '<br>';

echo 'ISBN: ' . $row[4] . '<br><br>';

}

Эта функция возвращает одну строку данных в массиве, который затем присваивается переменой $row. После извлечения данных останется только обратиться по очереди к каждому элементу массива $row (начиная с нулевого). Получается, что $row[0] содержит данные об авторе, $row[1] - о названии книги и т. д., так как каждая графа помещена в массив в том порядке, в котором она появляется в таблице MySQL. Кроме того, использование вместо mysql_result функции mysql_fetch_row значительно сокращает объем кода PHP и время его выполнения, поскольку здесь применяется простая ссылка на каждый элемент данных по смещению в массиве, а не имя этого элемента.

2.9 Отключение

По окончании работы с базой данных от нее следует отключиться.

<?php

mysql_close($db_server);

?>

Здесь функции нужно передать тот идентификатор, который был возвращен функцией mysql_connect и сохранен в переменной $db_server.

3. Обработка форм

Основной способ взаимодействия пользователей с PHP и MySQL - применение HTML-форм. Эти формы появились на заре разработки Всемирной паутины, в 1993 году, даже раньше, чем электронная коммерция, и благодаря простоте и легкости использования не утратили своего значения и по сей день.

3.1 Создание форм

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

1. открывающий и закрывающий теги -- <form> и </form> соответственно;

2. тип передачи данных, задаваемый одним из двух методов -- GET или POST;

3. одно или несколько полей для ввода данных;

4. URL-адрес назначения, по которому будут отправлены данные формы.

<?php

echo <<<_END

<html>

<head>

<title>Form Test</title>

</head>

<body>

<form method="post" action="formtest.php">

Как Вас зовут?

<input type="text" name="name">

<input type="submit">

</form>

</body>

</html>

_END;

?>

Внутри echo <<<_END..._END находится стандартный код, с которого начинается HTML-документ, отображающий заголовок документа и обозначающий начало его тела. Затем следует форма, настроенная на отправку своих данных с использованием POST-метода в адрес PHP-программы formtest.php, то есть этой самой программы. Остальной код программы закрывает все открытые элементы: форму, тело HTML-документа и PHP-инструкцию echo <<<_END.

3.2 Извлечение отправленных данных

Нужно добавить код начало страницы, который проверяет, содержит ли ассоциативный массив $_POST отправленное поле name. Ассоциативный массив $_POST включает в себя элемент для каждого поля HTML-формы. Для вводимого имени использовалось поле name, а для отправки данных формы был избран метод POST, поэтому значение элемента name массива $_POST содержится в элементе массива $_POST['name']. PHP-функция isset используется для проверки наличия значения у элемента $_POST['name']. Если значение не было отправлено, то программа присваивает переменной $name значение «(Не введено)». А если значение было отправлено, то оно сохраняется в этой переменной.

if (isset($_POST['name'])) $name = $_POST['name'];

else $name = "(Не введено)";

Заключение

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

Список использованных источников

1. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 3-е изд. - СПб.: Питер, 2015. -- 688 с.: ил.

2. PHP: Hypertext Preprocessor [Электронный ресурс] URL: http://php.net/ (дата обращения 29.04.2015)

3. Большая книга CSS3. 3-е изд. - СПб.: Питер, 2014. - 608 с.

4. Изучаем HTML5. Библиотека специалиста. 2-е изд. - СПб.: Питер, 2012. - 304 с.

5. PHP и MySQL. Исчерпывающее руководство. - СПб.: Питер, 2013. - 512 с

Приложение А

Программный код model.php

<?php

function my_calendar() { $month_names=array("январь","февраль","март","апрель","май","июнь",

"июль","август","сентябрь","октябрь","ноябрь","декабрь");

if (isset($_GET['y'])) $y=$_GET['y'];

if (isset($_GET['m'])) $m=$_GET['m'];

if (isset($_GET['date']) AND strstr($_GET['date'],"-")) list($y,$m)=explode("-",$_GET['date']);

if (!isset($y) OR $y < 1970 OR $y > 2037) $y=date("Y");

if (!isset($m) OR $m < 1 OR $m > 12) $m=date("m");

$month_stamp=mktime(0,0,0,$m,1,$y);

$day_count=date("t",$month_stamp);

$weekday=date("w",$month_stamp);

if ($weekday==0) $weekday=7;

$start=-($weekday-2);

$last=($day_count+$weekday-1) % 7;

if ($last==0) $end=$day_count; else $end=$day_count+7-$last;

$today=date("Y-m-d");

$prev=date('?\m=m&\y=Y',mktime (0,0,0,$m-1,1,$y));

$next=date('?\m=m&\y=Y',mktime (0,0,0,$m+1,1,$y));

$i=0;

?>

<table border=1 cellspacing=0 cellpadding=2>

<tr>

<td colspan=7>

<table width="100%" border=0 cellspacing=0 cellpadding=0>

<tr>

<td align="left"><a href="<? echo $prev ?>">&lt;&lt;&lt;</a></td>

<td align="center"><? echo $month_names[$m-1]," ",$y ?></td>

<td align="right"><a href="<? echo $next ?>">&gt;&gt;&gt;</a></td>

</tr>

</table>

</td>

</tr>

<tr><td>Пн</td><td>Вт</td><td>Ср</td><td>Чт</td><td>Пт</td><td>Сб</td><td>Вс</td><tr>

<?

for($d=$start;$d<=$end;$d++) {

if (!($i++ % 7)) echo " <tr>\n";

echo ' <td align="center">';

if ($d < 1 OR $d > $day_count) {

echo "&nbsp";

} else {

$now="$y-$m-".sprintf("%02d",$d);

echo '<b><a href="'.$_SERVER['PHP_SELF'].'?date='.$now.'">'.$d.'</a></b>';

}

echo "</td>\n";

if (!($i % 7)) echo " </tr>\n";

}

?>

</table>

<? }

function getEvents($date){

$query = "SELECT * FROM EVENTS WHERE DATE_FORMAT( event_date, '%s' ) = '%s' ORDER BY event_date";

$format = "%Y-%m-%d";

$query = sprintf($query, $format, fix($date));

$result = mysql_query($query);

if (!$result)

die(mysql_error());

$n = mysql_num_rows($result);

$events = array();

for ($i=0; $i < $n; $i++) {

$row = mysql_fetch_assoc($result);

$events[] = $row;

}

return $events;

}

function fix($fix){

return htmlspecialchars(mysql_real_escape_string($fix));

}

function deleteEvent($id){

$query = "DELETE FROM events WHERE id_event = '%d'";

$query = sprintf($query, $id);

$result = mysql_query($query);

if (!$result)

die("err delete $result->error");

}

function eventAdd($time, $text){

$time = trim($time);

$text = trim($text);

if ($time == '')

return false;

$t = "INSERT INTO events (event_date, event_text) VALUES ('%s', '%s')";

$query = sprintf($t,

fix($time),

fix($text));

$result = mysql_query($query);

if (!$result)

die(mysql_error());

return true;

}

function getEvent($id){

$query = "SELECT * FROM EVENTS WHERE id_event = '%d'";

$query = sprintf($query, fix($id));

$result = mysql_query($query);

if (!$result)

die(mysql_error());

$row = mysql_fetch_assoc($result);

return $row;

}

?>

Приложение Б

Страницы сайта

Рисунок 1 - Страница при первом входе на сайт

Рисунок 2 - Добавление события

Рисунок 3 - Страница просмотра событий

Рисунок 4 - Страница с калькулятором

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [1,5 M], добавлен 25.12.2012

  • Создание тематического Web-сайта с использованием гипертекстового языка разметки HTML, каскадных листов стилей CSS и языка программирования Java Script. Описание используемых тегов при его создании. Особенности разработки навигации и интерфейса сайта.

    контрольная работа [2,8 M], добавлен 02.12.2009

  • Компоненты web-программирования для создания web-сайта. Особенность каскадной таблицы стилей. Система управления базами данными MySQL. Характеристика использования контейнерного web-дизайна в работе. Описание интерфейса и функциональности программы.

    курсовая работа [110,2 K], добавлен 28.09.2017

  • Создание индивидуального сайта с использованием языка гипертекстовой разметки HTML и языка скриптов JavaScript. Программные средства, используемые при выполнении работы. Основные средства для создания сайта. Разработка CSS-файла (таблица стилей).

    лабораторная работа [31,0 K], добавлен 28.10.2010

  • Обоснование выбора средств разработки сайта. Программа Microsoft Office FrontPage 2003, характеристика и принцип работы. Разработка структуры сайта, его реализация и создание элементов дизайна. Наиболее употребляемые теги языка HTML. Листинг HTML-кода.

    курсовая работа [1,7 M], добавлен 08.03.2011

  • Структура сайта, характеристика процесса его создания. Необходимая кодировка, установка. Присоединение таблицы стилей к сайту. Окно специальных возможностей тега image. Разбор сайта на РНР блоки, создание базы данных. Доступ к админке по паролю.

    лабораторная работа [889,7 K], добавлен 09.01.2013

  • Создание тематического Web-сайта с использованием гипертекстового языка разметки HTML, каскадных листов стилей CSS и языка программирования JavaScript. Проблема высокого уровня нагрузки на хостинг и создания уникального контента. Выбор средств CMS.

    курсовая работа [3,6 M], добавлен 25.05.2014

  • История возникновения и применение Каскадных таблиц стилей (CSS) в web-дизайне, их преимущества и отличие от HTML. Сравнительная характеристика табличной и блочной верстки. Практика дизайна сайта: создание бокового меню, всплывающего модального окна.

    курсовая работа [1,2 M], добавлен 21.06.2011

  • Назначение информационно-новостного сайта. Структура пользовательской и административной частей. Эмулятор Web–сервера Denwer 3. Типы данных, используемые в PHP. MySQL база данных. Каскадная таблица стилей CSS. Язык гипертекстовой разметки документов HTML.

    дипломная работа [2,0 M], добавлен 05.02.2013

  • Язык маркировки гипертекстов HTML, основа создания web-страниц. История спецификаций, каскадные таблицы стилей CSS. Способы определения таблиц стилей (стилевого шаблона). Язык подготовки сценариев JavaScript, его использование. Программный код web сайта.

    курсовая работа [26,9 K], добавлен 05.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.