Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 852
от 29.12.2007, 13:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 444, Экспертов: 42
В номере:Вопросов: 2, Ответов: 5

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 115551: Здравствуйте уважаемые эксперты!!! Я тут надумал чат сделать так вот есть одна загвоздочка. короче авторизация такая >>>>>>>>>>>>>>>>>>>index.html<<<<<<<&l...
Вопрос № 115694: Здравствуйте! Хочу разобраться в PHP. Подскажите, пожалуйста, какие программы для этого мне нужны и где их взять. У меня ОС Windows XP Professional....

Вопрос № 115.551
Здравствуйте уважаемые эксперты!!!
Я тут надумал чат сделать так вот есть одна загвоздочка.
короче авторизация такая

>>>>>>>>>>>>>>>>>>>index.html<<<<<<<<<<<<<<<<<<<
<form action="chat.php" target = "messages" method="post">
ICQ#:<input type="text" name="ICQ"><br>
<input type="submit" value="Я в ЧАТ хочу!!! Пустите!!!">
</form>

>>>>>>>>>>>>>>>>>>>chat.php<<<<<<<<<<<<<<<<<<<
<html>
<head>
<title>Чат 11-Б</title>
</head>
<FRAMESET ROWS = "75%,*">
<FRAME SRC="messages.php" NAME="messages" MARGINHEIGHT="3" SCROLLING = "auto">
<FRAME SRC="input.php" NAME="input" MARGINHEIGHT="3" SCROLLING = "auto">
</FRAMESET>
</html>

>>>>>>>>>>>>>>>>>>>messages.php<<<<<<<<<<<<<<<<<<<
<html>
<head>
<meta http-equiv='refresh' content='3;url=chat.php'>
<title>Чат</title>
</head>
<body>
<?php
include ("date.php");
include ("functions.php");
$mess = $HTTP_POST_VARS['mess'];
$ICQ = $HTTP_POST_VARS['ICQ'];
$ch = date("H");
$m = date("i");
$s = date("s");

if ($ICQ != "") { setcookie("ICQ",$ICQ); } else $ICQ = $_COOKIE['$ICQ'];
if (exist($ICQ) == True)
{
@mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die("Не могу открыть mySQL-соединение.");
@MYSQL_SELECT_DB($DB_NAME) or die("Не могу выбрать mySQL БД.");
$res = mysql_query("SELECT * FROM `chat` WHERE `ID` = 11");

$c = mysql_result($res,0,"ch");
if ($mess != "")
{
$c++;
if ($c > 10) $c = $c - 10;
mysql_query("UPDATE `chat` SET `ch` = '$ch', `m` = '$m', `s` = '$s', `mess` = '$mess' WHERE `ID` = $c");
mysql_query("UPDATE `chat` SET `ch` = '$c' WHERE `ID` = 11");
}
$c++;
for ($i = 0; $i < 10 ; $i++)
{
$t = $c + $i;
if ($t > 10) $t = $t - 10;
$res = mysql_query("SELECT * FROM `chat` WHERE `ID` = $t");
$ch = mysql_result($res,0,"ch");
$m = mysql_result($res,0,"m");
$s = mysql_result($res,0,"s");
$mess = mysql_result($res,0,"mess");
$res = mysql_query("SELECT * FROM `chat_user` WHERE `ICQ` = $ICQ");
$name = mysql_result($res,0,"name");
if ($mess != "") echo "»<font color = red><b>$name</b></font>($ch:$m:$s)<br><font color = gren><b>$mess</b></font><br>";
}
@mysql_close();
} else echo "Твоего ICQ нет в БАЗЕ попроси Санька чеб добавил!!!!";
?>
</body>
</html>

>>Так вот проблема следуйщая переменная $ICQ никак до скрипта messages.php дойти не может это раз!!!!
>>Второй вопрос почему при нажатии в index.php на кнопку, окно chat.php открывается в новом окне браузера!!!
>>Вопрос третий, как узнать кто сейчас онлайн на этой странице а кто offline?
Отправлен: 23.12.2007, 14:59
Вопрос задал: Sanek (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Миленин Александр
Здравствуйте, Sanek!
1) <form action="chat.php" - все данные из формы передаются в chat.php, который является обычным html-файлом.

2) фрейм messages создаётся только в chat.php, а в index.html его нет, поэтому браузер открывает новое окно.

3) Фиксируйте в базе время последнего действия пользователя, а при обращении проверяйте, сколько прошло времени с момента последнего действия пользователя. Если пользователь ничего не делал в течении 5-10 мин, считайте что он offline.
Ответ отправил: Миленин Александр (статус: 9-ый класс)
Ответ отправлен: 23.12.2007, 15:18
Оценка за ответ: 1
Комментарий оценки:
Не буду выражатся с матами ну ты полный ...!!! В какие тебе эксперты клоун, тебе в ясельки нужно а не советы давать!!! Роззуй глаза
тут есть такая штука как target = "messages"!!! Относительно 3-го вопроса ты полный Валера, таким тупым макаром я и сам мог догадатся!!!

Отвечает: PVS
Здравствуйте, Sanek!
Зря ругаетесь. Александр прав по всем пунктам. target=messages открывает окно с именем messages и загружает туда простой HTML из chat.php и сответственно не анализирует никаких переменных.
Чтобы всё заработало сcfvq ,бстрый вариант переделки будет выглядеть так:
- переименовываете index.html в login.html
- chat.php - в index.html
- в новоявленом index'e меняете FRAME SRC="messages.php" на FRAME SRC="login.php"
- в login.php меняете form action="chat.php" на form action="messages.php"
Правда в таком случае input.php получается лишним до момента регистрации, но, думаю, более-менее работающий пример Вам будет проще довести до ума.
По поводу online/offline - других 100% работающих вариантов, кроме как считать активным пользователя на протяжении N минут с момента последнего события, нету. Можно ещё добавить что-то с JavaScript'ами, но они не отработают при обрыве соединения и пользователь будет "висеть" активным до своего следуещего входа на сайт.
P.S.И перед тем как ругатся - ругнитесь сначала на мини-форуме или в личку, а уж потом, если действительно есть чего ругатся - в комментариях к ответу.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 24.12.2007, 10:46
Оценка за ответ: 4
Комментарий оценки:
Мне нужно сделать так чтобы авторизация не была в окне чата!!! А так как Вы сказали я и сам делал на ранних порах!!! Я не полный плуг!!! Че тут все думают что если ктото консультируется так он полный дурачек!!!


Вопрос № 115.694
Здравствуйте! Хочу разобраться в PHP. Подскажите, пожалуйста, какие программы для этого мне нужны и где их взять. У меня ОС Windows XP Professional.
Отправлен: 24.12.2007, 11:19
Вопрос задала: Snusnumr (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Snusnumr!
Проще всего - denwer (www.denwer.ru), но чтобы разобратся в организации взаимодействия Apache(www.apache.org), PHP(www.php.net) и MySQL'я(www.mysql.com) стоит установить и настроить их по отдельности.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 24.12.2007, 11:31

Отвечает: Товарищ Бородин
Здравствуйте, Snusnumr!
Я бы ответил так: успех задачи "разобраться в PHP" стоит на трех китах, а киты эти - 1) сервер Apache + PHP + MySQL(желательно все последних версий - они содержат меньше ошибок и недочетов), где это все взять, Вы уже знаете, эксперт PVS Вам уже сказал; 2) грамотное руководство, это могут быть книги, например, "PHP5 в подлиннике" Д. Котерова и А. Костарева, "PHP5 и MySQL" из серии "Библия пользователя", ресурсы, например, http://phpworld.ru - отличный ресурс для освоения ООП в PHP; 3) хорошая среда разработки программ. Не слушайте тех, кто говорит, что лучше всего в блокноте. Определяющим фактором для выбора среды разработки является время. А знать все функции, операторы, процедуры и т. д. не только в PHP, но и в любом другом языке, - бессмысленно! Лучше помнить самые основные, а второстепенные - просто знать, где искать.

Еще нужны терпение и усидчивость. Хорошо, если у Вас уже есть на будущее маленькая задачка-задумка, которую Вы бы хотели реализовать - это здорово стимулирует изучение языка.

Удачи Вам!
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Товарищ Бородин (статус: Практикант)
Ответ отправлен: 24.12.2007, 12:00

Отвечает: M@gi$†e®
Здравствуйте, Snusnumr!

1. Установите пакет Денвер http://www.denwer.ru
2. Писать скрипты можно в любом текстовом редакторе. Лично я предпочитаю стандартный Notepad

---------
Aquila non Capta Muscas
Ответ отправил: M@gi$†e® (статус: 7-ой класс)
Ответ отправлен: 24.12.2007, 14:48


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.66 от 23.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное