Функции для работы с Cookie




int GetCookieCount();
Возвращаемое значение
Общее число параметров переданных посредством Cookie.
Пример:
На входе имеем следующую строку cgi-запроса:
text=test;password=qw12;checkbox=on;radio=r2;textarea=
wew&list=2;list2=11;list2=1;list2=2;list2=0
Код программы:
#include <itcgi.h>

int main()
{


printf("Content-type: text/plain\n\n);
printf("Общее количество cgi-параметров равно %d.\n", GetCookieCount());


}
На выходе:
Общее количество cookie-параметров равно 10.



int GetParamByName(const char* name, CString* value);
Возвращаемое значение:
1 - если всё прошло хорошо, 0 - если запрошенного параметра нет или произошла ошибка иного рода.
Параметры:
name - задаёт имя параметра, значение которого необходимо вернуть

value - строка, в которую следует положить значение.
Описание
Возвращает значение параметра по его имени. Обратите внимание, что в рассматриваемом примере используется список, в котором можно выбрать несколько значений. У нас четыре пары параметр=значение с именем параметра list2. Данная фукнция вернет значение первого параметра с именем list2. Для доступа к остальным значениям параметра list2 см. функции
GetCookieValueByIndex и GetCookieNameByIndex.
Пример:
На входе имеем следующую строку cgi-запроса:
text=test;password=qw12;checkbox=on;radio=r2;textarea=
wew;list=2;list2=11;list2=1;list2=2;list2=0
Код программы:
#include <itcgi.h>

int main()
{
CString* pwd = CreateString();

GetParamByName("password", pwd);
printf("Content-type: text/plain\n\n);
printf("Вы ввели пароль: %s.\n", *pwd);

DeleteString(pwd);
}
На выходе:
Вы ввели пароль: qw12.



int GetCookieValueByIndex(int index, CString* value);
int GetCookieNameByIndex(int index, CString* name);
Возвращаемое значение:
1 - если всё прошло хорошо, 0 - если запрошенного параметра нет или произошла ошибка иного рода.
Параметры:
index - задаёт номер параметра, значение которого необходимо вернуть (отсчёт ведётся от нуля).

value - строка, в которую следует положить значение.
name - строка, в которой следует сохранить имя параметра.

Описание
Возвращает значение параметра по его порядковому номеру.
Пример:
На входе имеем следующую строку cgi-запроса:
text=test;password=qw12;checkbox=on;radio=r2;textarea=
wew;list=2;list2=11;list2=1;list2=2;list2=0
Код программы:
#include <itcgi.h>

int main()
{
CString* name = CreateString();
CString* value = CreateString();
int i, count;

count = GetCount();
printf("Content-type: text/html\n\n);

printf("<html><table><caption>Полный список\
 cgi-параметров</caption><tr><td\
 bgolor="E5E5E5">Индекс<td bgolor="E5E5E5">Имя<td\
 bgolor="E5E5E5">Значение");
for(i=0;i<count;i++)
{
 GetCookieValueByIndex(i, value);
 GetCookieNameByIndex(i, name);
 printf("<tr><td>%d <td> %s <td> %s\n", i, *name, *value);
}
DeleteString(name);
DeleteString(value);
}
На выходе:
Полный список cookie-параметров
ИндексИмя Значение
0 text test
1 password qw12
2 checkbox on



int IsCookie(const char *name);
Возвращаемое значение
Проверяет есть ли параметр с именем name. Если такой параметр есть то возвращает 1, иначе 0.
Пример:
На входе имеем следующую строку:
text=test;password=qw12;checkbox=on;radio=r2;textarea=
wew;list=2;list2=11;list2=1;list2=2;list2=0
Код программы:
#include <itcgi.h>

int main()
{


printf("Content-type: text/plain\n\n);

if(IsParam("name"))
 printf("В cookie-параметрах присутствует параметр с именем name.\n");
else 
 printf("В cookie-параметрах нет параметра с именем name.\n");

}
На выходе:
В cookie-параметрах нет параметра с именем name.
[an error occurred while processing this directive]