Некорректно работает чат на php
Правила форума
1. Один вопрос - одна тема. Не надо задавать в той же теме другие вопросы.
2. Не пишите в чужих темах, если ваша проблема не имеет отношения к обсуждаемой.
3. Давайте полное описание проблемы - имя сайта, имя сервера, учётная запись, способ воспроизведения, скриншот ошибки.
4. Пароли выкладывать в форум - НЕ НАДО
1. Один вопрос - одна тема. Не надо задавать в той же теме другие вопросы.
2. Не пишите в чужих темах, если ваша проблема не имеет отношения к обсуждаемой.
3. Давайте полное описание проблемы - имя сайта, имя сервера, учётная запись, способ воспроизведения, скриншот ошибки.
4. Пароли выкладывать в форум - НЕ НАДО
Некорректно работает чат на php
Здравствуйте. Проблема такого характера:
Создал чат на php на другом хостинге, с которого решил перейти сюда. На прошлом хостинге всё работало корректно, а здесь столкнулся сразу с несколькими проблемами:
1)Перенаправление на стартовую страницу чата с формой для ввода имени и выбора цвета при случайном попадании незалогиненного пользователя на основную страницу чата не работает. Вместо перенаправления осуществляется вход в основное окно чата с последующей возможностью оставлять сообщения без имени. http://h93256.s05.test-hf.su/chat.php - это сам чат, http://h93256.s05.test-hf.su - это страница с формой ввода имени, минуя которую, по идее, в чат попасть нельзя. Это от версии php зависит, или от чего? Почему так по-разному работает?
Выдаёт вот такое предупреждение:
Warning: Cannot modify header information - headers already sent by (output started at /home/h93256/data/www/h93256.s05.test-hf.su/chat.php:81) in /home/h93256/data/www/h93256.s05.test-hf.su/chat.php on line 189
2)Тоже проблема, с которой при использовании этого же чата на предыдущем хостинге не встречался: прямо в окне чата мне сообщается о переменных, которые не использовались во время отправки форм и не получили значения. Всего у меня пять переменных:
$strSubject=$_POST['subject'];
$strMycolor=$_POST['webcolors']; - эти две используются единожды при переходе на страницу чата со страницы с именной формой.
$strUserName=$_POST[username];
$strMessage=$_POST['message'];
$strUserColor=$_POST['usercolor']; - эти три используются при отправке каждого нового сообщения. При этом страница чата переходит сама на себя.
Во время отправки формы имени в окне чата появляется информация о том, что три переменных, используемые для сообщений, не определены. Когда пишешь сообщение, в окне чата появляется оповещение о том, что первые две переменных не определены (те, которые использовались единожды). Как убрать из окна чата эти оповещения: "Notice: Undefined index: subject in /home/h93256/data/www/h93256.s05.test-hf.su/chat.php on line 112 Notice: Undefined index: webcolors in /home/h93256/data/www/h93256.s05.test-hf.su/chat.php on line 114" ?
Создал чат на php на другом хостинге, с которого решил перейти сюда. На прошлом хостинге всё работало корректно, а здесь столкнулся сразу с несколькими проблемами:
1)Перенаправление на стартовую страницу чата с формой для ввода имени и выбора цвета при случайном попадании незалогиненного пользователя на основную страницу чата не работает. Вместо перенаправления осуществляется вход в основное окно чата с последующей возможностью оставлять сообщения без имени. http://h93256.s05.test-hf.su/chat.php - это сам чат, http://h93256.s05.test-hf.su - это страница с формой ввода имени, минуя которую, по идее, в чат попасть нельзя. Это от версии php зависит, или от чего? Почему так по-разному работает?
Выдаёт вот такое предупреждение:
Warning: Cannot modify header information - headers already sent by (output started at /home/h93256/data/www/h93256.s05.test-hf.su/chat.php:81) in /home/h93256/data/www/h93256.s05.test-hf.su/chat.php on line 189
2)Тоже проблема, с которой при использовании этого же чата на предыдущем хостинге не встречался: прямо в окне чата мне сообщается о переменных, которые не использовались во время отправки форм и не получили значения. Всего у меня пять переменных:
$strSubject=$_POST['subject'];
$strMycolor=$_POST['webcolors']; - эти две используются единожды при переходе на страницу чата со страницы с именной формой.
$strUserName=$_POST[username];
$strMessage=$_POST['message'];
$strUserColor=$_POST['usercolor']; - эти три используются при отправке каждого нового сообщения. При этом страница чата переходит сама на себя.
Во время отправки формы имени в окне чата появляется информация о том, что три переменных, используемые для сообщений, не определены. Когда пишешь сообщение, в окне чата появляется оповещение о том, что первые две переменных не определены (те, которые использовались единожды). Как убрать из окна чата эти оповещения: "Notice: Undefined index: subject in /home/h93256/data/www/h93256.s05.test-hf.su/chat.php on line 112 Notice: Undefined index: webcolors in /home/h93256/data/www/h93256.s05.test-hf.su/chat.php on line 114" ?
Некорректно работает чат на php
вам следует либо исправить код, чтобы ошибки и предупреждения не вылезали, либо отключить их:
http://www.host-food.ru/faq/technical.q ... .htaccess/
обычно просто отключают, но корректней, конечно, поправить код
Отправлено спустя 19 секунд:
собственно, скорей всего после этого всё станет корректно
http://www.host-food.ru/faq/technical.q ... .htaccess/
обычно просто отключают, но корректней, конечно, поправить код
Отправлено спустя 19 секунд:
собственно, скорей всего после этого всё станет корректно
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Вот я и сам скорее склоняюсь к исправлению ошибок, нежели к настройкам, которые будут их игнорировать. Подскажите, как поступить с переменными, если часть из них используется для отлавливания форм только один раз при переходе с предыдущей страницы, а другая часть используется уже постоянно при отлавливании отправленных сообщений, и страница переходит при этом сама на себя? Как разместить все их на странице, чтобы не было этих ошибок? Пробовал поставить в условие переход с определённой страницы, но с этим вообще ничего не вышло.
И второй вопрос: почему не работает переход на стартовую страницу незалогиненных пользователей. Что это за оповещение по поводу заголовка, которое я привёл выше?
И второй вопрос: почему не работает переход на стартовую страницу незалогиненных пользователей. Что это за оповещение по поводу заголовка, которое я привёл выше?
Некорректно работает чат на php
для начала вывод ошибок отключите, и проверьте всё ли работает
что касается заголовков переадресации - они естственно не работают, поскольку до них был вывод, по поводу ошибки в коде (предупрждение)
что касается заголовков переадресации - они естственно не работают, поскольку до них был вывод, по поводу ошибки в коде (предупрждение)
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Работает и так всё, кроме заголовка, несмотря на вывод ошибок на экран. Это и странно. По поводу заголовка я так и не понял. Если там что-то сначала выводится (я не разобрался, что имеется в виду в этом оповещении, и не понимаю сейчас), то почему такой переход на страницу работал на предыдущем ресурсе?
Некорректно работает чат на php
"что касается заголовков переадресации - они естственно не работают, поскольку до них был вывод, по поводу ошибки в коде (предупрждение)" - Вывод чего был? Я же и говорю, что ранее уже использовал этот код, и он прекрасно работал, включая отправку на стартовую страницу для тех, кто на ней ещё не был и не написал своё имя.
Некорректно работает чат на php
отключите вывод ошибок на экран
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Но ведь Вы сами заметили, что лучше сделать код корректным. Вот я и хочу узнать, как.
Некорректно работает чат на php
исправить все ошибки в коде.
убрать все предупреждения - которые по сути, те же ошибки, просто не такие серьёзные.
убрать все предупреждения - которые по сути, те же ошибки, просто не такие серьёзные.
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Меня интересует конкретика. То, что какие-то ошибки, я и так понял, ибо они вывелись прямо на экран. Меня интересует, какие именно ошибки. Пишу я именно поэтому. Давайте остановимся на этом более подробно.
Некорректно работает чат на php
вы программируете, или я? =)
конкретика бывает применительно к коду, который вы не опубликовали.
или к ошибкам, которые не привели - не считая варнинга с упоминанием 81 строки.
но что там, в 81 строке - я не знаю.
причём, судя по самому варнингу, ошибка-то была до него - как раз в 81 строке, и её вы не выложили.
==========
в общем, телепатировать можно до бесконечности.
конкретика бывает применительно к коду, который вы не опубликовали.
или к ошибкам, которые не привели - не считая варнинга с упоминанием 81 строки.
но что там, в 81 строке - я не знаю.
причём, судя по самому варнингу, ошибка-то была до него - как раз в 81 строке, и её вы не выложили.
==========
в общем, телепатировать можно до бесконечности.
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Сейчас уже совсем другая строка будет в предупреждении, потому что убрал пустые строки и всё лишнее. Код такой:
<?php
$strSubject=$_POST['subject']; // используется один раз при переходе со страницы с вводом имени
$strMycolor=$_POST['webcolors']; // используется один раз при переходе со страницы с вводом имени
if ($strSubject!='') {
$f=fopen('chat_logs.txt','a');
fwrite($f, ' '.'В чат заходит '.'<b>'.'<span style="color:'.$strMycolor.'";>'.strip_tags($strSubject).'</span>'.'</b>'.' '.date('H').':'.date('i').' '.date('d').'.'.date('m').'.'.date('y').'<br>');
fclose($f);
}
$strMessage=$_POST['message']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
$strUserName=$_POST['username']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
$strUserColor=$_POST['usercolor']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
if ($strMessage!='') {
$f=fopen('chat_logs.txt','a');
fwrite($f, '<span style="color:'.$strUserColor.'";>'.'<b>'.' '.$strUserName.'</b>'.' подумал и сказал: '.'<i>'.strip_tags($strMessage).'</i>'.'</span>'.' '.' '.date('H').':'.date('i').' '.date('d').'.'.date('m').'.'.date('y').'<br>');
fclose($f);
}
$f=fopen('chat_logs.txt','r');
while(!feof($f)) {
echo fgets($f);
}
fclose($f);
if ($strSubject=='' && $strUserName=='') {
header("Location: index.php"); //То самое перенаправление, по поводу которого предупреждение
}
?>
</div>
<div id="form1" style="margin: -17 3 0; background: black; color: white; width: 500; height: 97;">
<form method="post" action="chat.php">
<input type=hidden value="<?php
if ($strSubject!='') {
echo strip_tags($strSubject);
}else if ($strSubject==''){
echo $strUserName;
}
?>" name="username">
<input type=hidden value="<?php
if ($strMycolor!='') {
echo $strMycolor;
}else if ($strMycolor==''){
echo $strUserColor;
}
?>" name="usercolor">
<p>Message: <input name="message" type="text" maxlength="200" size="60">
<?php
$strSubject=$_POST['subject']; // используется один раз при переходе со страницы с вводом имени
$strMycolor=$_POST['webcolors']; // используется один раз при переходе со страницы с вводом имени
if ($strSubject!='') {
$f=fopen('chat_logs.txt','a');
fwrite($f, ' '.'В чат заходит '.'<b>'.'<span style="color:'.$strMycolor.'";>'.strip_tags($strSubject).'</span>'.'</b>'.' '.date('H').':'.date('i').' '.date('d').'.'.date('m').'.'.date('y').'<br>');
fclose($f);
}
$strMessage=$_POST['message']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
$strUserName=$_POST['username']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
$strUserColor=$_POST['usercolor']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
if ($strMessage!='') {
$f=fopen('chat_logs.txt','a');
fwrite($f, '<span style="color:'.$strUserColor.'";>'.'<b>'.' '.$strUserName.'</b>'.' подумал и сказал: '.'<i>'.strip_tags($strMessage).'</i>'.'</span>'.' '.' '.date('H').':'.date('i').' '.date('d').'.'.date('m').'.'.date('y').'<br>');
fclose($f);
}
$f=fopen('chat_logs.txt','r');
while(!feof($f)) {
echo fgets($f);
}
fclose($f);
if ($strSubject=='' && $strUserName=='') {
header("Location: index.php"); //То самое перенаправление, по поводу которого предупреждение
}
?>
</div>
<div id="form1" style="margin: -17 3 0; background: black; color: white; width: 500; height: 97;">
<form method="post" action="chat.php">
<input type=hidden value="<?php
if ($strSubject!='') {
echo strip_tags($strSubject);
}else if ($strSubject==''){
echo $strUserName;
}
?>" name="username">
<input type=hidden value="<?php
if ($strMycolor!='') {
echo $strMycolor;
}else if ($strMycolor==''){
echo $strUserColor;
}
?>" name="usercolor">
<p>Message: <input name="message" type="text" maxlength="200" size="60">
Некорректно работает чат на php
для оформления кода есть кнопочка
Код: Выделить всё
вообще-то ...
и, разумеется, мне надо снова телепатически угадать какая именно ошибка у вас сейчас ?
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Код: Выделить всё
<?php
$strSubject=$_POST['subject']; // используется один раз при переходе со страницы с вводом имени
$strMycolor=$_POST['webcolors']; // используется один раз при переходе со страницы с вводом имени
if ($strSubject!='') {
$f=fopen('chat_logs.txt','a');
fwrite($f, ' '.'В чат заходит '.'<b>'.'<span style="color:'.$strMycolor.'";>'.strip_tags($strSubject).'</span>'.'</b>'.' '.date('H').':'.date('i').' '.date('d').'.'.date('m').'.'.date('y').'<br>');
fclose($f);
}
$strMessage=$_POST['message']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
$strUserName=$_POST['username']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
$strUserColor=$_POST['usercolor']; // Используется при отправке сообщений постоянно. Страница переходит сама на себя.
if ($strMessage!='') {
$f=fopen('chat_logs.txt','a');
fwrite($f, '<span style="color:'.$strUserColor.'";>'.'<b>'.' '.$strUserName.'</b>'.' подумал и сказал: '.'<i>'.strip_tags($strMessage).'</i>'.'</span>'.' '.' '.date('H').':'.date('i').' '.date('d').'.'.date('m').'.'.date('y').'<br>');
fclose($f);
}
$f=fopen('chat_logs.txt','r');
while(!feof($f)) {
echo fgets($f);
}
fclose($f);
if ($strSubject=='' && $strUserName=='') {
header("Location: index.php"); //То самое перенаправление, по поводу которого предупреждение
}
?>
</div>
<div id="form1" style="margin: -17 3 0; background: black; color: white; width: 500; height: 97;">
<form method="post" action="chat.php">
<input type=hidden value="<?php
if ($strSubject!='') {
echo strip_tags($strSubject);
}else if ($strSubject==''){
echo $strUserName;
}
?>" name="username">
<input type=hidden value="<?php
if ($strMycolor!='') {
echo $strMycolor;
}else if ($strMycolor==''){
echo $strUserColor;
}
?>" name="usercolor">
<p>Message: <input name="message" type="text" maxlength="200" size="60">
Ошибки всё те же. Выдаёт предупреждения по поводу тех $strVariable=$_POST['id'] , которые не получили значений. Как оставить их на странице корректно, чтобы не выводились предупреждения (не экранировать знаком @, а именно исправить) ? Заголовок не работает именно из-за этого. Вывод предупреждения в исходный код страницы и вызывает оповещение "заголовки уже отправлены". Вот в этом и есть суть проблем, но как исправить - не знаю. Нигде не нашёл качественной информации.
Некорректно работает чат на php
Код: Выделить всё
$strSubject = IsSet($_POST['subject'])?$_POST['subject']:'';
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Спасибо за помощь. Теперь всё работает. У меня ещё пара вопросов осталась. Разрешено ли использовать скрипты обращения к серверу, чтобы страница или её часть обновлялась автоматически через определённый интервал времени? Знаю, что на некоторых ресурсах это запрещено и заканчивается блокировкой аккаунта.
И последний вопрос по коду:
Скроллинг работает в фаерфокс, но не работает в опере и в хроме. Пытался решить проблему кроссбраузерности через jquery (чем и вызвано дублирование кода), но ничего не вышло. Содержимое div по-прежнему прокручивается до конца при каких-либо действиях на страницы только в фаерфокс.
И последний вопрос по коду:
Код: Выделить всё
<script src="http://yastatic.net/jquery/1.6.4/jquery.min.js"></script>
<style>
BODY {
margin: 0;
background-color: black;
height: 900;
}
</style>
<script>
function scrollMessages() {
id1.scrollTo(0,99999);
$("#id1").scrollBy(0,99999);
}
</script>
Некорректно работает чат на php
обновлять можно, но надо понимать что если у вас будет сотня народу с обновлением раз в хотя бы 5-10 секунд - сервер залочит ваш сайт.
слишом много однотипных запросов
подобное, лучше на VPS держать
--
по скроллингу не подскажу. со стилями/js у самого всегда проблемы =))
слишом много однотипных запросов
подобное, лучше на VPS держать
--
по скроллингу не подскажу. со стилями/js у самого всегда проблемы =))
Убей их всех! Бог потом рассортирует...
Некорректно работает чат на php
Думаю, поставлю секунд 30, а то и ещё больше. Народу будет человек 10, если очень повезёт.
Спасибо Вам за помощь. Главная проблема решена + я узнал много нового.
Спасибо Вам за помощь. Главная проблема решена + я узнал много нового.
Некорректно работает чат на php
Со скроллингом разобрался. Оказалось, что строчка, работающая для фаерфокс, почему-то блокирует то, что работает в любом браузере.
В итоге всё оказалось просто:
А вот обновление div корректно сделать не смог. Вместо того, чтобы обновлять самого себя, див с текстом начинает загружать всю страницу сайта на месте текста.
Как исправить?
В итоге всё оказалось просто:
Код: Выделить всё
function scrollMessages() {
$("#id1").scrollTop(10000);
Код: Выделить всё
setInterval(function() {
$("#id1").load("http://h93256.s05.test-hf.su/chat.php/#id1");
}, 3000);
Некорректно работает чат на php
а вообще, у вас и стоит переагрузка всего URL, как я понимаю
Убей их всех! Бог потом рассортирует...