#include <itcgi.h> int main() { LString* str = CreateString(); char buf[128]; int i; printf("Content-type: text/html\n\n"); // в цикле читаем параметры на стороне сервера for(i=0;i<20;i++) { sprintf(buf, "%d", i); //следующая функция читает из конфигурационного файла // из секции chat i-й параметр GetRCParam(0, "chat", buf, str); printf("%s<br>\n", *str); } DeleteString(str); return 0; } =======Makefile====== all: chat chat: chat.c itcgi.a gcc chat.c -L/usr/local/lib/mysql -I/usr/local/include/mysql \ -L/usr/local/lib -I/usr/local/include \ -o chat -lmysqlclient /usr/lib/itcgi.a -Wall -O3 strip chat cp chat /www/members/cgi-bin/chat //программа добавления сообщения в чат // // #include <itcgi.h> int main() { LString* name = CreateString(); LString* msg = CreateString(); LString* str = CreateString(); char buf[128]; int i; // Считываем имя автора и само сообщение GetParamByName("name", name); GetParamByName("msg", msg); // в цикле переписываем значения параметров // i-й параметр принимает значение (i-1)-го параметра // for(i=20;i>1;i--) { sprintf(buf, "%d", i-2); GetRCParam(0, "chat", buf, str); sprintf(buf, "%d", i-1); SetRCParam(0, "chat", buf, *str); } // на место 0-го параметра ставим только что полученное сообщение sprintf(buf, "%s: %s", *name, *msg); SetRCParam(0, "chat", "0", buf); // возвращаемся на страницу, с которой была вызвана // эта программа printf("Location: %s\n\n", getenv("HTTP_REFERER")); DeleteString(name); DeleteString(msg); DeleteString(str); return 0; } ======Makefile====== all: chat_add chat_add: chat_add.c itcgi.a gcc chat_add.c -L/usr/local/lib/mysql -I/usr/local/include/mysql \ -L/usr/local/lib -I/usr/local/include \ -o chat_add -lmysqlclient /usr/lib/itcgi.a -Wall -O3 strip chat_add cp chat_add /www/members/cgi-bin/chat_add |