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