Сайтостроительство


         

Чат - часть 2


Программа для вывода текущих сообщений выглядит следующим образом.

#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

<


Содержание  Назад  Вперед