Задайте вопрос
Поиск по сайту

Содержание:

Глава1 - Основы.

  • Установка и настройка Denwer.
  • Знакомство с РНР.
  • Переменные.
  • Операторы.
  • Массивы и циклы
  • Функции.

  • Глава2 - Разработка web-сайтов и взаимодействие с MySql.
    Partner


    И так! Мои уважаемые посетители! :-) Вы уже знаете немного об основах php! Теперь перейдем к более интересному материалу ;-) Который будет уже Вам помогать в создании Вашего динамического и очень, я думаю, увлекательного сайта!

    И разговор мы начнем с того, как же php обрабатывает данные введенные с html форм и не только!

    Для начала буквально в двух словах поговорим о протоколе HTTP

    HTTP - Hypertext Transfer Protocol - это, можно сказать, наши правила дорожного движения! Мы что-то вбиваем в адресную строку браузера (формируем запрос), он нам что-то возвращает! Все регулируется http!


    Я не буду упоминать, что там еще между браузером и сервером стоит наша операционная система и т.д. и др... Если утрировать - устанавливается соединение между сервером и браузером. Клиент в этом соединении посылает запрос, сервер в этом соединении посылает ответ. Мы этого не видим, но это есть!

    Соответственно серверов много и браузеров тоже не пару штук :-) Они должны общаться на одном языке. Поэтому весь синтаксис, правила, команды и т.д. - все описано в спецификации протокола http.

    И так, что происходит, когда мы что-то вбиваем в адресную строку браузера?

    Браузер посылает запрос. Этот запрос состоит из двух частей:

    Первая часть - это непосредственно строка самого запроса, которая разделена пробелами



    Здесь сначала передается метод запроса, в данном случае GET.

    GET - это один из самых распространенных методов запроса - другими словами все, что мы вручную пропишем в адресной строке браузера передается методом ГЕТ.

    Например, все поисковые запросы самых популярных поисковиков передаются методом GET. Вбейте что-нибудь в поиске гугл, например, и в адресной строке вы увидите кучу символов - это и есть параметры запроса ГЕТ!

    После пробела идет запрашиваемый ресурс, в данном случае мы запрашиваем файл index.html который лежит в папке folder в корне сайта.

    После очередного пробела передается версия протокола http что бы сервер знал на какую версию протокола ему ориентироваться!

    После этого браузер серверу передает так называемую МЕТА информацию - http заголовки.



    Это только пример! Заголовков есть куча вариантов и каждый браузер передает свои заголовки! Так же администратор сервера может передеть свои заголовки! Мы можем посредством пхп передать свои заголовки - т.е. вариантов куча! Это просто пример!

    Ну во-первых что такое заголовок? Это имя заголовка - двоеточие - пробел - значение заголовка!
    Каждый заголовок передается на отдельной строке!
    Часть этих заголовков предназначена серверу - что бы он что-то сделал, часть - только php разработчику и серверу они "по барабану" :-) Т.е. написаны только для нас!

    Практически все они необязательны!!! В любом случае обязательны только две первые строки на слайде выше - остальное зависит от браузера и от нас!

    Заголовок HOST как Вы видете передает доменное имя. Если его не передать сервер выдаст ошибку 400! - что означает: "НИЧЕГО НЕ ПОНЯЛ!!!" :-) Т.е. сервер просто отклонит Ваш запрос!

    Как только после всех заголовков идет пустая строка, сервер понимает что все, все заголовки переданы и нужно идти искать нужную Вам страницу (как вариант, ведь запросить можно не только страницу, но и многое другое:-) ).

    Далее сервер тоже передает заголовки браузеру. Подробно останавливаться на этом мы не будем. Если в кратце, то сервер тоже передает информацию, в которой содержится: статус ответа - ошибка или все ОК :-) И массу информации так же в http заголовках!!!

    Теперь перейдем непосредственно к html формам и php!

    Думаю Вы знаете как прописываются формы в html, если нет, то скоро откроется раздел посвященный этой теме на моем сайте!

    И так, допустим у нас на сайте есть форма:



    Где в поле action прописана ссылка на тот же файл из которого вызываем обработчик формы!

    Что делает php? Он пробегается по всем параметрам формы и собирает все значения переменных из формы! Так делается если запрос передается методом GET.

    Т.е. формирует строку, если например в форму были переданы значения name=Jhon и age=25:



    скрепляется эта строка знаком амперсанда - &

    Если возникли вопросы - не стесняйтесь - задавайте здесь

    Вот эту строку и передает пхп в адресной строке после имени странички, скрепив это знаком вопроса! (т.к. запрос у нас передается методом GET).



    При предаче запроса методом POST - вторым методом передачи запроса из формы, происходит все тоже самое, только в адресной строке браузера мы не увидим параметры, которые пользователь ввел в форме - другими словами и если очень сокращенно, то метод POST не заменим и приоритетен, когда например, мы из формы передаем логин и пароль!

    Что получаем в итоге? Все что нам приходит методом GET автоматически попадает в массив php $_GET[] а то что постом в массив $_POST[]

    Как использовать наши данные? Если совсем просто то так:



    А теперь посмотрите на то, что я выше написал - И НИКОГДА ТАК НЕ ПИШИТЕ!!! :-)))

    Потому что это не просто "дырка" в безопастности Вашего скрипта, а просто ДЫРИЩЕ!!!! :-)

    Ведь неизвестно, что могут ввести в форму! Поэтому всегда фильтруйте введенные данные например минимум так - встроенными функциями:



    Давайте создадим простой калькулятор и обработаем данные, которые будет вводить пользователь с формы, посредством php.

    Сделаем этакую бета версию калькулятора. Он будет понимать только четыре оператора: + - * /

    И не забываем, что на ноль делить нельзя, а так же проверять, что пользователь ввел в поле оператор и филитровать значение если они отличны от +-*/

    Посмотрим...



    Давайте подытожим.

    И так, что нам нужно помнить? Данные с форм (если они переданы методом GET) попадают автоматически в массив $_GET[]. Соответствено все что передано постом попадает в массив $_POST[].
    Всегда фильтруем полученные данные от пользователя встроенными функциями или можете написать свою!
    Обязательно указываем в форме путь к обработчику формы корректно, а то ничего работать не будет.
    Попишите сами различные формы и их обработчики - вообщем эспериментируйте!

    Ну вот вобщем-то и все по основам обработки данных с форм php! Идем дальше :-)

    Наверх Предыдущая страница Следующая страница