PHP, Forms, Cookies. Формы, валидация и обработка данных презентация

Содержание

Слайд 2

Формы, валидация и обработка данных index.php DENWER => /home/aaa.dp.ua/www

Формы, валидация и обработка данных

index.php

DENWER => /home/aaa.dp.ua/www

Слайд 3

Формы, валидация и обработка данных file.php DENWER => /home/aaa.dp.ua/www

Формы, валидация и обработка данных

file.php

DENWER => /home/aaa.dp.ua/www

Слайд 4

Формы, валидация и обработка данных www.aaa.dp.ua/file.php?user_name=....

Формы, валидация и обработка данных

www.aaa.dp.ua/file.php?user_name=....

Слайд 5

Кодирование спецсимволов в URL при их передаче Передача параметров в URL

Кодирование спецсимволов в URL при их передаче

Передача параметров в URL

Слайд 6

Передача параметров в URL Передача параметров файлу, через URL –

Передача параметров в URL

Передача параметров файлу, через URL

– спецсимвол, говорящий, что

в этом месте заканчивается адрес файла, и начинается перечень параметров.

– спецсимвол разделяющий имя параметра и его значение.

– спецсимвол разделяющий пары (имя параметра и его значение) друг от друга.

?

=

&

Основные спецсимволы при передаче параметров в URL

Слайд 7

Кодирование и декодирование параметров происходит автоматически, в большинстве случаев. Но...

Кодирование и декодирование параметров происходит
автоматически, в большинстве случаев.

Но...

JS

PHP

encodeURIComponent(url)

decodeURIComponent(url)

urlencode($url)

urldecode($url)

Функции которые позволяют

принудительно кодировать/декодировать
строку в формат URL запроса.

"hi all! what's up?" =>
hi%20all!%20what's%20up%3F =>
"hi all! what's up?"

Кодирование/декодирование параметров в URL

Слайд 8

Формы, запросы GET POST Параметры передаются в открытом виде, в

Формы, запросы

GET

POST

Параметры передаются в открытом виде, в строке URL.

Параметры передаются неявно,

в теле HTTP запроса.

Длинна строки параметров ограничена (255 байт, ограничение связано с совместимостью).

Объём передаваемых параметров неограничен (зависит от настроек сервера).

Является методом по умолчанию.

Слайд 9

Параметры, GET Параметры передаются в заголовке запроса.

Параметры, GET

Параметры передаются в заголовке запроса.

Слайд 10

Формы, параметры

Формы, параметры

Слайд 11

Формы, запросы GET POST Получить параметры переданный формой можно с

Формы, запросы

GET

POST

Получить параметры переданный формой можно с помощью соответствующего ассоциативного массива

который PHP формирует после того как разберёт запрос браузера.

REQUEST

Ассоциативный массив $_REQUEST объединяет в себе данные массивов $_GET и $_POST.

Слайд 12

Формы, параметры Альтернативный пример file.php DENWER => /home/aaa.dp.ua/www

Формы, параметры

Альтернативный пример

file.php

DENWER => /home/aaa.dp.ua/www

Слайд 13

Формы, параметры Ручная передача параметров (безопасность)

Формы, параметры

Ручная передача параметров (безопасность)

Слайд 14

PHP+Web-сервер Одна из возможностей web-сервера – поддержка сеанса работы с

PHP+Web-сервер

Одна из возможностей web-сервера – поддержка сеанса работы с пользователем.

Cookie-файлы

Сессии (session)

Идентификатор

сессии хранится в cookie-файле или в URL.

Данные о пользователе хранятся на сервере, бразуер передаёт серверу лишь идентификатор сессии (к которой привязаны данные).

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

Данные подвержены хищению, подделке.

Данные не подвержены хищению, подделке.

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

Слайд 15

PHP+Web-сервер, cookie-файлы index.php DENWER => /home/aaa.dp.ua/www

PHP+Web-сервер, cookie-файлы

index.php

DENWER => /home/aaa.dp.ua/www

Слайд 16

PHP+Web-сервер, cookie-файлы

PHP+Web-сервер, cookie-файлы

Слайд 17

PHP+Web-сервер, cookie-файлы

PHP+Web-сервер, cookie-файлы

Слайд 18

Опять проблемы с кодировкой

Опять проблемы с кодировкой

Слайд 19

Устанавливали спец. маркер UTF-8 BOM, чтобы браузер понял в какой кодировке файл. Кодировка

Устанавливали спец. маркер UTF-8 BOM, чтобы
браузер понял в какой кодировке

файл.

Кодировка

Слайд 20

Когда браузер открывает файл с файловой системы (т.е. не через

Когда браузер открывает файл с файловой системы (т.е. не через веб-сервер),

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

windows-cp1251 ?

utf-8 ???

KOI-8R ??

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

Кодировка

Слайд 21

Кодировка Когда браузер получает файл от веб-сервера, то у сервера

Кодировка

Когда браузер получает файл от веб-сервера, то у сервера есть возможность

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

charset=utf-8

кодировка от сервера == кодировка файла == кодировка документа

Кодировка сервера, файла и документа должны совпадать, иначе возникает ситуация неоднозначности, принятие решения остаётся за браузером.

Слайд 22

HTTP запрос, HTTP ответ Заголовки передаются клиенту до отправки содержимого.

HTTP запрос, HTTP ответ

Заголовки передаются клиенту до отправки содержимого. Если заголовок

уже отправлен добавить в него что-то в уже нельзя.
Слайд 23

HTTP запрос, HTTP ответ 1. 2. Сначала передаётся заголовок, потом передаётся тело документа.

HTTP запрос, HTTP ответ

1.

2.

Сначала передаётся заголовок, потом передаётся тело документа.

Слайд 24

HTTP запрос, HTTP ответ Cookie передаётся в заголовке.

HTTP запрос, HTTP ответ

Cookie передаётся в заголовке.

Слайд 25

HTTP запрос, HTTP ответ Любые символы до начала «php-тега» заставляют

HTTP запрос, HTTP ответ

Любые символы до начала «php-тега» заставляют сервер оформить

и отправить заголовок пользователю. Тем самым лишая возможности добавить в него что-то.
Слайд 26

HTTP запрос, HTTP ответ Почему возникли проблемы с нашим примером???

HTTP запрос, HTTP ответ

Почему возникли проблемы с нашим примером???

Слайд 27

HTTP запрос, HTTP ответ Любые символы до начала «php-тега» заставляют

HTTP запрос, HTTP ответ

Любые символы до начала «php-тега» заставляют сервер оформить

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

Файл без BOM

Файл c BOM

Слайд 28

HTTP запрос, HTTP ответ Сообщение об ошибке, заключающейся в том,

HTTP запрос, HTTP ответ

Сообщение об ошибке, заключающейся в том, что первый

байты файла переданы клиенту, и теперь внести в заголовок данные о cookie уже нельзя.
Слайд 29

HTTP запрос, HTTP ответ Ладно, сохраняем файл в формате без

HTTP запрос, HTTP ответ

Ладно, сохраняем файл в формате без ВОМ.

Почему?

Потому что

сервер «утверждает» что это файл в кодировке 1251, хотя на самом деле он в utf-8. Возникает неоднозначность, поведение браузера нерегалментировано.
Слайд 30

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

HTTP запрос, HTTP ответ

Необходимо указать серверу, какую кодировку необходимо писать в

заголовке ответа.
Слайд 31

HTTP запрос, HTTP ответ

HTTP запрос, HTTP ответ

Слайд 32

Что делать?

Что делать?

Слайд 33

PHP+Web-сервер, cookie-файлы index.php DENWER => /home/aaa.dp.ua/www Сохранит в кодировке UTF-8 без метки BOM!!!

PHP+Web-сервер, cookie-файлы

index.php

DENWER => /home/aaa.dp.ua/www

Сохранит в кодировке UTF-8 без метки BOM!!!

Имя файла: PHP,-Forms,-Cookies.-Формы,-валидация-и-обработка-данных.pptx
Количество просмотров: 34
Количество скачиваний: 0