[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите пожалуйста со скриптом
xbelyi
Помогите пожалуйста, это файл чата, который должен добавлять сообщение, написанное пользователем в файл (txt). Ошибка пишется в 22ой строчке: while ($i <= $fi): . Скажите пожалуйста, где эта ошибка у меня...



$kto = file ($file_kto_in_chat);
$fi = count($kto); $met = -1; $i = 0
while ($i <= $fi):
$str = trim(str_replace (" ","", $kto [$i]));
if ($str) {
list ($name_kto, $time_kto) = split ("~", $str);
if ( $name_kto == $person) { $met = $i; $i = 10000; }
}
$i++
endwhile; ?>




<form method="post" >
    
<input maxlength="500" type="text" name="msg" value="" size="20" >
<input type="submit" value="сказать" class="button" >
2) { $>
"
}
}
if ($met!= -1) {
if ($msg and $person) {
$sav = "$person~$time~$msg~$komu ";
$fp = fopen($file_logchat, "a+");
if ($fp) { $fw = $fwrite($fp, $sav); fclose($fp); }
if ($fomu) {
$sav = "$komu~$time~$msg~$person ";
$fp = fopen($file_logchat, "a+");
if ($fp) { $fw = $fwrite($fp, $sav); fclose($fp); }
}
} else { echo "   Ошибка чтения данных - повторите вход в систему!"; }
?></form >



Спустя 3 минуты, 1 секунда (20.01.2007 - 18:48) disc написал(а):
$fi = count($kto); $met = -1; $i = 0;
; поставь.

Спустя 2 минуты, 3 секунды (20.01.2007 - 18:50) xbelyi написал(а):
Спасибо огромное :)

Спустя 3 минуты, 33 секунды (20.01.2007 - 18:53) disc написал(а):
И это не последняя ошибка, щас еще напишу. ТЫ где этот код скопипастил ??

P.S.S: латест билдъ.



$kto = file ($file_kto_in_chat);
$fi = count($kto); $met = -1; $i = 0;
while ($i <= $fi) {
$str = trim(str_replace (" ","", $kto [$i]));
if ($str) {
list ($name_kto, $time_kto) = split ("~", $str);
if ( $name_kto == $person) { $met = $i; $i = 10000; }
}
$i++;
} ?>




<form method="post" >
    
<input maxlength="500" type="text" name="msg" value="" size="20" >
<input type="submit" value="сказать" class="button" >
2) { ?>
";
}

if ($met!= -1) {
if ($msg and $person) {
$sav = "$person~$time~$msg~$komu ";
$fp = fopen($file_logchat, "a+");
if ($fp) { $fw = $fwrite($fp, $sav); fclose($fp); }
if ($fomu) {
$sav = "$komu~$time~$msg~$person ";
$fp = fopen($file_logchat, "a+");
if ($fp) { $fw = $fwrite($fp, $sav); fclose($fp); }
}
} else { echo "   Ошибка чтения данных - повторите вход в систему!"; }
}
?></form >

Спустя 5 минут, 51 секунда (20.01.2007 - 18:59) xbelyi написал(а):
Я этот код сам писал (с использованием книжки), ещё не опытный, это мой первый серьёзный скрипт, спасибо огромное, я сейчас сам мучаюсь от этих ошибок

Спустя 4 минуты, 46 секунд (20.01.2007 - 19:04) disc написал(а):
xbelyi, мне не вериться что в книжке был бы такой дикий стиль программирования. Книжка очень старая такие while конструкции еще были в php 3 версии, а уже скоро 6 выйдет. Читай более свежие книги, минимум по 5 версии php.

Спустя 6 минут, 4 секунды (20.01.2007 - 19:10) xbelyi написал(а):
QUOTE(disc)
xbelyi, мне не вериться что в книжке был бы такой дикий стиль программирования. Книжка очень старая такие while конструкции еще были в php 3 версии, а уже скоро 6 выйдет. Читай более свежие книги, минимум по 5 версии php.

http://wnk.biz/html/ru/info216.htm Это вот страничка той книжки которую я использую, она 2004 года, но написано легко, я уже перечитал и про 5ую версию (2 толстенные книги), но мало что понял:(...
В скрипте остаётся одна ошибка, в последней строчке :(

Спустя 3 минуты, 17 секунд (20.01.2007 - 19:13) disc написал(а):
xbelyi, еще раз код из верхнего моего поста скопируй и вставь.

Спустя 2 минуты, 37 секунд (20.01.2007 - 19:16) xbelyi написал(а):
QUOTE(disc)
xbelyi, еще раз код из верхнего моего поста скопируй и вставь.

Спасибо огромное :). Буду дальше заниматься отладкой... Скорее всего будут ещё вопросы...

Спустя 3 минуты, 29 секунд (20.01.2007 - 19:20) disc написал(а):
Установи себе Zend Studio и будет удобнее тебе отлаживать скрипты во время их разработки и правки.

Спустя 4 минуты, 24 секунды (20.01.2007 - 19:24) xbelyi написал(а):
QUOTE(disc)
Установи себе Zend Studio и будет удобнее тебе отлаживать скрипты во время их разработки и правки.

Эта программа около 70мб... Может быть потом скачаю... А она чтоли сразу ошибки показывает? Можешь ещё с одим файлом помочь? Ошибка, как пишут в 22ой строчке, Fatal error: Maximum execution time of 30 seconds exceeded in /home/moidom/public_html/chat/main_window.phtml on line 22
В Денвере при этой ошибке вообще кошмар происходит...







$user = file($file_logchat);
$i = count($user);
$fi = $i - 30;
if ($fi < 0) {$fi = 0;}
while ($i >= $fi):
list ($name, $time_name, $msg, $komu) =
split ("~", trim(str_replace (" ","", $user [$i])));
if ($name and $msg) {
if (!$komu or $komu == $person) {
if (!$komu) {
echo "$time_name>
$name $msg
";
} else {
echo "$time_name>
для $name от $komu: $msg
";
}
}
}
$i++;
endwhile;
?>


Спустя 1 минута, 36 секунд (20.01.2007 - 19:26) disc написал(а):
$file_logchat откуда берется???

Спустя 2 минуты, 12 секунд (20.01.2007 - 19:28) xbelyi написал(а):
QUOTE(disc)
$file_logchat откуда берется???

Из tools.phtml
Проверил...

Спустя 2 минуты, 53 секунды (20.01.2007 - 19:31) disc написал(а):
QUOTE(xbelyi)
QUOTE(disc)
$file_logchat откуда берется???

Из tools.phtml
Проверил...

а что трубеться от этого скрипта, у тебя тут сильно намучено:
list ($name, $time_name, $msg, $komu) =
split ("~", trim(str_replace (" ","", $user [$i])));

Спустя 2 минуты, 58 секунд (20.01.2007 - 19:34) xbelyi написал(а):
QUOTE(disc)
QUOTE(xbelyi)
QUOTE(disc)
$file_logchat откуда берется???

Из tools.phtml
Проверил...

а что трубеться от этого скрипта, у тебя тут сильно намучено:
list ($name, $time_name, $msg, $komu) =
split ("~", trim(str_replace (" ","", $user [$i])));

Эта страница показывает последние сообщения из файла, который выполняет роль базы данных.
В базе эти переменные хранятся через тильду. Вот split ("~", trim(str_replace (" ","", $user [$i]))); наверное отделяет от них её

Спустя 8 минут, 21 секунда (20.01.2007 - 19:42) disc написал(а):
tools.phtml выложи сюда

Спустя 2 минуты, 58 секунд (20.01.2007 - 19:45) xbelyi написал(а):
Вот:
session_name ("chat_virtualbrest");
session_start();
$time_nast = time("void");
$file_logchat = "memolog/log_chat.txt";
$chat_number = 100;
$name_rob = "Robot";
$file_kto_in_chat = "memolog/kto_chat.txt";
$time = date("H:i");
?>

Спустя 5 минут, 8 секунд (20.01.2007 - 19:50) disc написал(а):
$person откуда взялось ??

Спустя 3 минуты, 10 секунд (20.01.2007 - 19:53) xbelyi написал(а):
Из index.phtml. Похоже я понял ошибку... А как задать чтобы переменная отправлялась в два файла?


Вход в чат


<form method="POST" action="header.phtml" >
Введите ник:

<input type="text" name="person"


<input type ="submit" value="Войти в чат" name="B1" >
</form >


Спустя 6 минут, 25 секунд (20.01.2007 - 20:00) disc написал(а):







$user = file($file_logchat);
$i = count($user);
$count_for_page = 30;
$fi = $i - $count_for_page;
$a=0;
for ($fi;$a <=$count_for_page;$a++) {
list ($name, $time_name, $msg, $komu) = split ("~", trim($user[$fi]));
if ($name and $msg) {
if (!$komu or $komu == $person) {
if (!$komu) {
echo "$time_name>
$name $msg
";
} else {
echo "$time_name>
для $name от $komu: $msg
";
}
}
}
}
?>



Нfдо не передавать в 2 файла, а использовать сессии. $_SESSION.

В приведенном выше коде я прописал чтоб выводило последние 30 сообщений на страницу, можешь подправить $count_for_page на сколько нужно сообщений.


Спустя 54 секунды (20.01.2007 - 20:01) disc написал(а):
xbelyi, дальше либо сам гугли и читай мануалы иль записывайся ко мне на платные курсы по программингу. :)

Спустя 3 минуты, 9 секунд (20.01.2007 - 20:04) xbelyi написал(а):
QUOTE
Нfдо не передавать в 2 файла, а использовать сессии. $_SESSION.

В приведенном выше коде я прописал чтоб выводило последние 30 сообщений на страницу, можешь подправить $count_for_page на сколько нужно сообщений.

Спасибо ещё раз :) Надо будет почитать про сессии и как их использовать...

Спустя 4 часа, 32 минуты, 31 секунда (21.01.2007 - 00:36) levis написал(а):
А чат то нормано работать не будет!!!!

flock();

Спустя 15 часов, 45 минут, 47 секунд (21.01.2007 - 16:22) xbelyi написал(а):
QUOTE(levis)
А чат то нормано работать не будет!!!!

flock();

Как это не будет? Почему?


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.