RTFM! статьи, советы, скрипты
::Заработок с помощью сайта ::JScript по-русски! ::Все русские мануалы::
МЕНЮ
О САЙТЕ
НОВОСТИ
СТАТЬИ
КНИГИ
АППЛЕТЫ
СВЯЗЬ

СЧЕТЧИКИ
Rambler's Top100
Рейтинг@Mail.ru
Яндекс цитирования

Самые основы. Как работает PHP.

Автор: phpclub Сайт: http://faq.phpclub.net/     Рейтинг: N/A из 7       <<НАЗАД
   
   
   Отличие веб-приложения от обычной программы
   Начиная писать программы для веба, многие начинающие программисты сталкиваются с такой ошибкой. Они рассматривают систему браузер-сервер, как обычное приложение. Интерактивное. Нажал кнопку - система среагировала. Провел мышкой - среагировала. Вся информация, которая доступна клиенту - доступна и программе, программа все время находится в памяти.
   
   Так вот, в веб-программировании это не так.
   Сервер и браузер общаются, посылая друг другу запросы по особому протоколу - HTTP. Соединение может инициировать только браузер. Он посылает серверу запрос - показать такой-то файл. Сервер клиенту файл посылает.
   Только так и происходит. Клиент запросил - сервер отдал. И забыл сразу о клиенте. Остюда становится понятным ответ на вопрос, можно ли точно узнать, сколько юзеров сечас на сайте. Нельзя. потому, что "на сайте" нету ни одного. Они соединяются, запрашивают страницу, и отсоединяются. Не имеют постоянного оединения с сервером, как, например, игроки в Кваку. Узнать можно только примерно, записывая время каждого соединения и выбирая записи за определенный промежуток времени.
   
   Отсюда становится ясно, что сервер может узнать о клиенте очень мало. Только то, что клиент пришлет в HTTP-запросе. Разрешения экрана там нет ;-)
   Все, что сервер может знать о клиенте, можно посмотреть командой phpinfo()
   
   Как работает РНР, где он выполняется?
   РНР выполняется на сервере. Браузер посылает серверу запрос на страницу с php кодом. Сервер отдает эту страницу на исполнение интерпретатору PHP, интерпретатор генерирует HTML код, отдает серверу, а сервер посылает клиенту. Никакого РНР кода в браузер не попадает (это важно! Это значит, что увидеть исходный код PHP скрипта невозможно!). Единственный способ отправить что-то скрипту - это кликнуть по ссылке или нажать на кнопку в форме. Так, чтобы РНР обрабатывал какие-то действия пользователя в браузере - невозможно. РНР остался на сервере, ждать новых запросов с данными для обработки. PHP, но не скрипт! Скрипт, который выполнялся, отдавая пользователю страницу, завершил работу. Все данные, которые были в нем - пропали. Именно поэтому, если какая-то переменная нужна при последующих вызовах скрипта, ее надо этому скрипту передать снова.
   
   Способы общения браузера с сервером.
   Способов, предоставляемых протоколом HTTP, немного. Это важная информация. Никаких других способов нет.
   Браузер может отправлять информацю серверу следующими способами:
   GET - это когда данные передаются в адресной строке, например, когда пользователь жмет ссылку.
   POST - когда он нажимает кнопку в форме.
   Cookie - если сервер поставил куку, и она не устарела, то браузер отсылает ее при каждом обращении к серверу.
   HTTP authentication - если сервер запрашивал HTTP авторизацию, то браузер при каждом обращении шлет введенные логин и пароль.
   Все остальное - лишь использование этих методов. Например, когда запрос посылает яваскрипт, или когда по ссылке <img src> запрашивается скрипт.
   
   РНР может посылать HTTP заголовки двумя командами - header и setcookie.
   
   Я очень рекомендую попрактиковаться с HTTP заголовками, посмотреть, как ими обмениваются сервер и клиент.
   Для этого есть множество разных способов. Если у вас стоит популярный download manager FlashGet, то можно использовать его. Так же заголовки показывает популярная программа Proxomitron, можно скачать какие-нибудь специальные утилиты.
   Очень удобен в этом плане браузер Mozilla. Если нажать правую кнопку и в контекстном меню выбрать Page Info, то можно увидеть полный набор заголовков как запроса, так и ответа. А если открыть спец. окошко через меню, то будешь видеть вообще все заголовки запросов и ответов всех запрашиваемых элементов страницы - картинок, CSS, скриптов, и-фреймов и т.п.
   Очень хорошая практика, а так же проверка - что шлет твой скрипт. Удобно при отладке установки кук и или проблемами с сессиями.
   


<<НАЗАД      ОЦЕНИТЬ СТАТЬЮ    ВЕРСИЯ ДЛЯ ПЕЧАТИ>>
Статья прочитана :  раз.




пейкюлю



 
 
 
 
 
pauk ©® 2000-2015. All rights reserved.
При перепечатке ссылка на сайт и указание обязательны.
Мнение администрации сайта не всегда совпадает с мнением автора.
Орфография и пунктуация - авторские.
Администрация не несет никакой ответственности за использование материалов.
.
Protected by Copyscape DMCA Takedown Notice Infringement Search Tool