Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Кухарчик А. -> "РНР: обучение на примерах" -> 67

РНР: обучение на примерах - Кухарчик А.

Кухарчик А. РНР: обучение на примерах — Мн.: Новое знание, 2004. — 237 c.
ISBN 985-475-050-7
Скачать (прямая ссылка): phpobuchennaprimerah2004.pdf
Предыдущая << 1 .. 61 62 63 64 65 66 < 67 > 68 >> Следующая

1 Имеются в виду суффиксы порядковых числительных в английском языке, например second (второй), seventh (седьмой). (Примеч.ред.)
Приложение 4. Cookie
233
mktime( 0,0,0,1 2,3 1,1 9 97) ;
В результате получим количество секунд, прошедших с января 1970 года до 0:00 31 декабря 1997 года.
time — возвращает текущее время, измеренное в секундах с эпохи Unix. Ее синтаксис: int time (void) ;
Приложение 4. Cookie
Cookie — небольшие файлы, которые сервер записывает на компьютер пользователя. Все браузеры поддерживают работу с ними, однако в этой технологии больше ограничений, чем возможностей. Например, нельзя записать в один cookie больше 4 Кб данных, нельзя обратиться к чужому cookie, только к созданному своим сервером, нельзя сохранить cookie куда-либо в другое место, кроме как в отведенное пользователем. Нельзя, нельзя, нельзя...
Конечно, все эти ограничения работают в том случае, если посетитель следит за безопасностью собственного компьютера и устанавливает самое современное программное обеспечение.
Очень большое количество сайтов использует в своей работе cookie, а часть из них просто не пустит пользователя к себе без включенной их поддержки в браузере. Есть специальные программы — брандмауэры, отсекающие cookie или отказывающие серверу в доступе, так что выбор все равно остается за посетителем. И все же среднестатистический пользователь не отключает cookie, а для опытных стоит написать предупреждение
на сайте.
Чтобы установить cookie с помощью РНР, нужно использовать функцию setcookie. Ее синтаксис:
setcookie("имя^ "значение");
Например, после выполнения
setcookie("name", "12345");
234
Приложения
пока пользователь не закроет окно браузера, переменную $name со значением, равным числу 12 345, можно будет считать с помощью другого оператора:
isset ($name);
Причем эта переменная станет доступна на любой странице вашего сайта, пока посетитель не уйдет с этого сайта.
Обратите внимание, что в силу определенных свойств работа
с cookie должна вестись до какого-либо вывода на экран (в браузер пользователя) любого текста (даже пробел нельзя ставить),
в том числе и HTML-тегов. Например, так уже работать не будет: | <html>
... работаем с cookie... Только так:
... работаем с cookie...
<html>
... любые другие теги и текст...
Запомните это ограничение и старайтесь подстраиваться под него, так как тут ничего поделать нельзя. Это не РНР виноват, так уж устроены эти самые cookie.
Можно проверить, установлена ли cookie, и на основании этого принять решение, что делать дальше. Например:
if (isset ($name)) { если установлена, то разрешаем вход на другие страницы сайта } else { если нет, предлагаем зарегистрироваться }
Надо помнить, что установленная таким образом переменная cookie «живет» только до тех пор, пока не закрыто окно браузера, ее породившее. Как только пользователь закрывает окно, установленная переменная уже не доступна. Это так называемая сессионная cookie.
Впрочем, совсем не сложно продлить срок жизни cookie до нужного времени. Делается это с помощью третьего параметра oro-
Приложение 5. Методы передачиданныхРОБГи GET 235
ратора setcookie, который указывает дату истечения срока действия cookie либо срок ее действия, если число меньше, чем дата установки:
$у = mktime(0,0,0,l,l,2005) ; setcookie("name", "bret", $y) ;
Параметр $у указывает на количество секунд, прошедшее с 1 января 1970 года (см. приложение 6). Поэтому перед тем как задать, его нужно сформировать функцией mktime (). Дату нужно задать в такой последовательности: час, минута, секунда, месяц, день и год. На выходе получим нужное значение в секундах, прошедших с 1.01.1970. В примере cookie будет действительна (а значит, и поддастся считыванию) до 1 января 2005 года.
Переустановить или удалить cookie очень просто — достаточно
либо указать новое значение, либо задать функцию setcookie
с именем этой cookie и остальными пустыми параметрами: setcookie("name") ;
Приложение 5. Методы передачи данных POST и GET
Метод POST основан на передаче данных через форму, а значит, требует перехода либо по кнопке, либо по ссылке в тексте, либо по графическому рисунку, т.е. требуется реальное действие пользователя.
Метод передачи данных GET применяется тогда, когда надо передать информацию программе без активного действия. Вот пример ссылки, передающей данные программе, расположенной в файле index.phtml:
http://myhost.ru/index.phtml?temp = l&qwe=slovo
Как видите, передаются и цифры и символы, причем передать можно несколько переменных за один раз. В результате обработки такой ссылки программа в index.phtml получит две переменные — $temp и $qwe с соответствующими значениями.
236
Приложения
Приложение 6. Время Unix
Давным-давно, когда компьютеры еще были очень большими, а программы очень маленькими, появилась необходимость отсчитывать время. У программистов прижился метод отсчета времени Unix. Начинает свой отсчет это время с 1 января 1970 года. Первая секунда этой даты считается первой, вторая — второй и т.д. На сегодня «набежало» уже достаточно большое число, но нам это не страшно, вручную считать не придется, есть специальные функции.
Предыдущая << 1 .. 61 62 63 64 65 66 < 67 > 68 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100