Изучение языка РНР Передача данных между web-страницами Обращение к файлам Сессии (сеансы) Cookies.

Презентация:



Advertisements
Похожие презентации
Мировые информационные ресурсы Базы данных как информационный ресурс.
Advertisements

СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – Приложение, входящее в состав пакета Microsoft Office (разработано компанией Microsoft).
Тема 4 Организация доступа к ресурсам портала 1. Базовая аутентификация пользователей 2. Автоматическая регистрация и аутентификация пользователей 3. Аутентификация.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Проф. В.К.Толстых, Выполнил студент: Тышлек С.В., 2009 Технологии разработки Internet- приложений Из цикла лекций «Технологии разработки.
Подготовила: Бовина Елена М-063. это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
Соколова В. В. Поддержка баз данных в РНР. Соколова В. В. Лаб 6 Работа с базами данных в РНР В РНР реализована обширная поддержка практически всех существующих.
Система автоматизированного сбора документации Разработчик: Малахов А.Ю.
Администрирование информационных систем Лекция 4. Система управления базами данных.
Система усиленной аутентификации по отпечатку пальца.
СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – приложение, входящее в состав пакета Microsoft Office для разработки баз данных и осуществления.
Возможности и преимущества работы с сайтом компании "Марита".
Система просмотра истории работы в интернете «WebHistory». Инструкция для пользователя.
Тема: массивы в PHP Изучить возможности языка PHP при решении задач, требующих использования массивов. Рассмотреть примеры использования массивов при создании.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
Информационно- образовательная система «Электронный журнал кафедры» Руководитель: проф. Шеховцов Б.Г. Разработчики: доц. Саранча С.Н. ст.гр. КСС-01-3 Пищемуха.
Выполнила студентка группы ТУ-501 Полозова Ю.О. База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной.
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
Транксрипт:

Изучение языка РНР Передача данных между web-страницами Обращение к файлам Сессии (сеансы) Cookies

Обращение к файлам REQUIRE Оператор REQUIRE заменяет себя содержимым указанного файла. require ('header.inc'); INCLUDE Оператор INCLUDE вставляет и выполняет содержимое указанного файла.

Можно поместить этот оператор внутрь цикла, чтобы включить несколько файлов : $files = array ('first.inc', 'second.inc', 'third.inc'); for ($i = 0; $i < count($files); $i++) { include($files[$i]); }

Переходы между страницами Формы Гиперссылки Встроенная PHP-функция header (Location: URL-адрес)

Передача данных между страницами Добавление информации К URL-адресу Применение форм Применение cookie Применение сеансов (сессий) PHP

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

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

Сессии (сеансы) в PHP

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

Открытие сессии Функция session_start () вызывается в начале PHP-сценария и проверяет, существует ли идентификатор сессии: если идентификатора нет, то создает его; если идентификатор текущей сессии уже существует, то загружаются зарегистрированные переменные сессии.

Регистрация переменных сессии session_register(имя 1, имя 2, …); Например. session_register("username");

Вместо функции session_register( ) при включенном register_globals можно использовать суперглобальные массивы: $_SESSION[ ] или $HTTP_SESSION_VARS[ ]

Проверить, установлены ли переменные сессии можно при помощи функции session_is_registerd( );

При использовании ассоциативных массивов $HTTP_SESSION_VARS и $_SESSION применять эту функцию не следует, а нужно напрямую проверять элементы этих массивов, к примеру, так: if(isset($_SESSION['username'])) …

Закрытие сессии После завершения работы с сессией сначала нужно зарегистрировать все переменные сессии, а затем вызвать функцию: session_destroy();

При включенном register_globals и использовании функции session_register разрегистрация осуществляется при помощи функции session_unregister: Синтаксис: session_unregister("username");

Если же регистрация осуществлялась путем с применением ассоциативных массивов, то поступают следующим образом: unset( ) Пример: unset($_SESSION["username"]);

Пример простой сессии Рассмотрим пример простой сессии, работающей с тремя страницами. При посещении пользователем первой страницы открывается сессия и регистрируется переменная $username.

<? session_start(); $_SESSION['username'] = "maksim"; echo 'Привет,.$_SESSION['username']." "; ?> На следующую страницу

Результат работы этого сценария

page2. php <? session_start(); echo $_SESSION['username'].', ты пришел на другую страницу этого сайта!'; echo(" "); ?> На следующую страницу

Результат работы этого скрипта

page3. php <? session_start(); unset($_SESSION['username']); /* раз регистрировали переменную*/ echo 'Привет, '.$_SESSION['username']; /* теперь имя пользователя не выводится */ session_destroy(); // разрушаем сессию ?>

Преимущества можно хранить большие объемы данных; данные хранятся на веб-сервере, это делает сессии безопасными, т.к. данные не могут быть просмотрены или отредактированы.Недостатки Сессия может быть потеряна, если закрыть браузер. Но есть возможность увеличить срок жизни cookie и сессии путем конфигурирования php.ini.

Cookies

Cookies - это текстовые строки, хранящиеся на стороне клиента, и содержащие пары "имя - значение", с которыми связан URL, по которому браузер определяет нужно ли посылать cookies на сервер. Cookies

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

Cookie отправляются на веб-сервер при загрузке каждой страницы. Интерпретатор PHP считывает и сохраняет значение в суперглобальный массив $_COOKIE. Когда cookie создаются, можно задать срок из жизни. Когда этот срок истекает, то cookie считаются истекшими и они удаляются из массива $_COOKIE.

Установка cookies setcookie (name [, value [, expire [, path [, domain [, secure]]]]])

Эта функция имеет следующие аргументы: name - имя устанавливаемого cookie; value - значение, хранящееся в cookie с именем (для cookie с именем name значение будет храниться в переменной $name); expire - время в секундах с начала эпохи, по истечение которого текущий cookie становится недействительным;

path - путь, по которому доступен cookie; domain - домен, из которого доступен cookie; secure - директива, определяющая, доступен ли cookie не по запросу HTPPS. По умолчанию эта директива имеет значение 0, что означает возможность доступа к cookie по обычному запросу HTTP.

Чтение cookie производится с помощью суперглобального массива $_COOKIE[ ]

Пример простого приложения с cookies

cookie надо обязательно устанавливать перед отправкой в браузер каких-либо заголовков, поскольку сами cookies устанавливаются в виде заголовков

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

Функция time() переводит текущее системное время в количество секунд, прошедших с начала эпохи.

Усовершенствованным вариантом функции time является функция mktime ([час [, мин [, сек [, мес [, день [, год ]]]]]])

Примеры установки срока годности cookies: <? /* этот cookie действителен в течение 10 мин после создания */ setcookie("name", $value, time() + 600); /* действие этого cookie прекращается в полночь 25 января 2010 года */ setcookie("name", $value, mktime(0,0,0,01,25,2010)); /* действие этого cookie прекращается в января 2010 года */ setcookie("name", $value, mktime(18,0,0,01,25,2010)); ?>

Удаление cookie setcookie(имя_cookie) Другие установленные cookie при этом не удаляются.

Преимущества Могут храниться столько, сколько это надо веб-сайту; могут сохранятся после закрытия браузера; Очень полезны для популярной функции Запомнить меня» при аутентификации пользователей; Находят широкое применение для сохранения временных пользовательских настроек. Например, если пользователь просматривает большой список чего-либо, разбитый на страницы, который отсортирован по тем или иным колонкам, как этого хочется ему, то cookie будут весьма полезны.Недостатки Хранятся в файловой системе пользователя. Это означает, что пользователь может просматривать их; Могут хранить ограниченный размер данных (Значение cookie не должно превышать 4 килобайта); При каждой загрузке страницы абсолютно все cookie отправляются на веб-сервер, несмотря на то, что большинство из них не нужны. Это увеличивает трафик между клиентом и сервером.

Базы данных как информационный ресурс

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

По функциональному назначению базы данных делят на: системы оперативной обработки транзакций (OLTP-системы, Online Transaction Processing); системы делового анализа / хранилища данных (OLAP-системы, Online Analysis Processing).

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

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

Если в БД оперативной обработки транзакций основные операции это небольшие по объему транзакции, состоящие из простых запросов на как на выборку, так и на вставку и обновление небольшого количества строк, то в БД делового анализа практически 100% операций являются операциями выборки (чтения) строк, причем количество отбираемых (анализируемых) строк может достигать нескольких миллионов.

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

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

Примеры серверов баз данных MS SQL Server PostgreSQL Oracle MySQL

Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.

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

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

ОСНОВНЫЕ ПОНЯТИЯ И КОМПОНЕНТЫ MySQL Каталог данных - содержит всю информацию, которая управляется серверной СУБД MySQL (базы данных, таблицы, файлы состояния). База данных - каждая БД представляет собой подкаталог в каталоге «каталога данных» Таблица - это три специальных файла размещенных внутри каталога «базы данных» для каждой таблицы. файл формы (описания)(.frm) файл данных (.MYD) файл индексов (.MYI)

Примеры файлов состояний MySQL.err журнал ошибок.log общий журнал.nnn журнал обновлений

Оболочка phpMyAdmin

Можно давать отдельные права на выполнение разных видов запросов SQL. Так, чтобы дать пользователю возможность извлекать данные из таблицы с помощью запроса SELECT, нужно использовать атрибут прав, который так и называется SELECT. Соответственно, права на добавление записей дает атрибут INSERT, на изменение UPDATE, а на удаление DELETE. Также можно дать права на создание, изменение и удаление таблиц и индексов, выполнение служебных операций и пр.

Кроме имени пользователя и пароля, MySQL позволяет также задать интернет-адрес компьютера, с которого данный пользователь может подключаться к серверу. Фактически интернет-адрес компьютера в MySQL является частью имени пользователя, которое в этом случае записывается вот то есть как адрес электронной почты.

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

А пользователь remote_user может подключиться к серверу только с компьютера dev.domain.ru и ни с какого другого (даже локального). Если нужно дать пользователю возможность подключаться с любого компьютера, нужно будет вместо интернет-адреса подставить шаблон %, задающий любой интернет-адрес. Например: Пользователь travelling_user может подключаться к серверу с любого компьютера и локального, и удаленного

Шаблон % можно использовать и вместо имени пользователя; тогда он будет задавать любого пользователя. Так, если написать localhost то с локального компьютера к серверу сможет подключиться любой пользователь (с любым именем, даже если оно явно не записано в списке пользователей). А если записать то к серверу сможет подключиться любой пользователь с любого компьютера. Конечно, такому пользователю будет нужно дать минимальные права.

MySQL свободная система управления базами данных (СУБД).свободнаясистема управления базами данных MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения.Sun Microsystems Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.GNU General Public Licenseрепликации MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.LAMP Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.MyISAM InnoDB