Навигация
-> Главная
-> Фото галерея
-> Справочник HTML
-> Учебник PHP
-> Мультики, музыка скачать
-> Раскрутка и оптимизация
-> Проекты
-> Поиск по сайту
-> Разное
-> с for cgi
-> Сервис поиска ссылок
Сейчас на сайте
-> Гостей: 2

-> Пользователей: 0

-> Всего пользователей: 540
-> Новый пользователь: ARG
Темы форума
Новые темы
-> MySQL server has gon...
-> Как устроен php-fusion?
-> Бюджетное поисковое ...
-> ЧПУ и PHP-Fusion
-> модуль расширенного ...
Обсуждаемые темы
-> пару вопросов [97]
-> PHP-Fusion 7 [65]
-> Help [41]
-> Отсылка ICQ сообщ... [34]
-> Баги, глюки [30]
Последние статьи
-> SELECT - полное опис...
-> Хранение файлов в ба...
-> Комплект разработчик...
-> Ajax - об этом долже...
-> Определение наличия ...
Информеры
Ссылки  +  -
Случайные фото


Шаблоны сайтов сборник12


Шаблоны сайтов сборник02


Шаблоны сайтов сборник12
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
MySQL server has gone away
Web-программирование
348 5 po
18 March 2012 15:40
Как устроен php-fusion?
Web-программирование
2016 5 Alipapa
21 February 2012 14:29
Бюджетное поисковое продвижение
Раскрутка
2241 16 fireinet
16 January 2012 19:10
ЧПУ и PHP-Fusion
Web-программирование
3197 3 Alipapa
19 December 2011 01:55
модуль расширенного вывода новостей для php-fusion
Каталог файлов
3713 8 Alipapa
18 December 2011 13:48
Упражнение: Персонализация веб-сайта Оглавление Упражнение: Опросник

Чат

Теперь рассмотрим функции работы с параметрами на стороне сервера, на примере двух программ для реализации чата. Функции, которые пишут информацию непосредственно на сервер, используется очень редко. Здесь мы рассматриваем программу чата, как учебный пример, чтобы продемонстрировать функции чтения параметров. Почему это учебный пример и как правильно написать чат см. главу Часть IV "Базы данных". Основное назначение группы этих функций, именно читать информацию из конфигурационного файла на сервере, а также работать с параметрами, которые сохраняются в базе данных.
Чат представляет из себя три html-файла, одну программу, которая показывает последние 20 сообщений и одну программу, которая добавляет сообщения. Читайте онлайн-журнал маркетинг, основы менеджмента, менеджмент организации, развитие бизнеса.

Код главной html-страницы чата выглядит следующим образом:

<html>
<head>
<title>Chat</title>
</head>
<frameset rows="90%, 10%">
  <frame src="chat_show.php">
  <frame src="chat_add.php">
</frameset>
</html>
Страница состоит из двух фреймов. 
В верхнем отображаются сообщения. 
В нижнем их можно добавлять.



Показ сообщений - chat_show.php, обновляется каждые 30 секунд.
<html>
<meta http-equiv="refresh" content="30; url=chat_show.php"> 
<body>
<!--#include virtual="/cgi-bin/chat"-->
</body>
</html>

Добавление сообщения - chat_add.php
<html>
<body>
<form method=post action=/cgi-bin/chat_add>
Имя:<input type=text name=name maxlenght=10 size=10> 
Сообщение:<input type=text name=msg maxlenght=80 size=50>
<input type=submit>
</form>
</body>
</html>
Чат устроен предельно просто. На сервере имеется 20 параметров с именами 0, 1, 2, 3 и т.д. Значение каждого параметра есть некоторое сообщение чата. Когда добавляется новое сообщение, то 20-е сообщение исчезает, его место занимает 19-е, на место 19-го становится 18-е и т.д., на место нулевого - новое сообщение. Программа для вывода текущих сообщений выглядит следующим образом.
#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

Авторизация
Логин

Пароль



Забыли пароль?
Запросите новый здесь.
Отослать ICQ

UIN получателя:


ff612
Код подтверждения:



Help
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

21/02/2012
Упирается, но сдулся Smile

19/02/2012
Как дела с php-fusion? Сдулся или еще упирается?

01/01/2012
Ну вот и наступил 2012-й. Всем искренне желаю новых успехов, здоровья и благополучия! Пусть новый год счастливым станет!

27/12/2011
Взаимно. Спасибо!

27/12/2011
С Наступающим!!! Smile

15/12/2011
Разделяю Ваши предпочтения. Pimped вещь стоящая.

15/11/2011
Да кому он нужен? Уже и 7.02.04 вышел, но нет желания с ним возиться - толкут воду в ступе. Уж лучше pimped буду развивать.

28/09/2011
На официальных сайтах, которых развелось как грибов после дождя


25/08/2011
Привет всем. Давно здесь не был. Где 7.02.03?

02/08/2011
Нет, то что "хотя" тоже не годится.

Анонс
Загрузка файлов  +  -
Подбор ключевых слов
Введите интересующую Вас фразу в строку запроса. Вы получите результат с запросами пользователей, в которых встречается Ваша фраза, а также выдаются и другие запросы, которые в этом сеансе делали эти люди. Цифры показывают примерное количество таких запросов в месяц.
Время загрузки: 0.27 секунд 7,148,251 уникальных посетителей