Глава 40. Интерактивный Web-сайт____________________________995

SetCookie(Naine, Value Expire)

Эта функция сохраняет cookie документа под именем Name и со значением, указанным в value. Дата действительности cookie указывается значением Expire. Если значение Expire не указано, cookie действует до конца сеанса. Формат должен быть следующим:

Day, DD-MMM-YYYY HH:MM:SS GM GetCookie(Name)

Этафункция ищет и возвращает значение Name. Она просматривает все значения cookie документа, пока не обнаружит требуемое значение. Потом это значение интерпретируется функцией Getvalue ().

GetValue(Offset)

Эта функция возвращает часть cookie, начинающуюся с номера символа, указанного в offset, и кончающуюся первым встреченным двоеточием.

Две оставшиеся функции, writeCookies ()и GetCookies (), работают непосредственно с формой листинга 40.1. Первая дает значение cctokie для каждого поля формы. Вторая считывает все значения cookie документа и выводит в нужных полях формы.

Теперь вы вооружены функциями для сохранения значений формы в cookie документа. Лучшим местом для хранения значений cookie является функция проверки правильности заполнения формы isvalido. Добавьте следующие две строки в конец этой функции (перед оператором return). Теперь при отправке правильно заполненной формы значения полей будут сохранены в cookie.

if( binValid )

WriteCookies();

Можно ли занести эти значения в поля формы? Да, и это нетрудно сделать. Измените тэг <BODY>, как это показано ниже. Это свяжет событие onLoad окна с функцией GetCookies (), которая будет заполнять форму значениями cookie каждый раз, когда пользователь будет загружать документ с этой формой.

<BODY OnLoad="GetCookies()">

Совет ^

Посетите сайт Netscape для того, чтобы познакомиться с полной спецификацией cookie:http://home.netscape.com/newsref/std/cookie_spec.html

Дальнейшее усовершенствование сайта

Примеры, приведенные в этом разделе, нетрудно воспроизвести, однако посетители вашего сайта оценят эти новые возможности по достоинству. Вы