Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Маленький чатик / 23 сообщений из 23, страница 1 из 1
20.02.2017, 15:44
    #39407903
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
Помогите пожалуйста написать маленький чатик, код файлов в приложении, что-то не работает и выдает ошибки:
...
Рейтинг: 0 / 0
20.02.2017, 15:58
    #39407920
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
Что именно не работает и каковы тексты ошибок?
...
Рейтинг: 0 / 0
20.02.2017, 17:47
    #39408019
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
RMagistr2015,

выдаёт такие ошибки (в прикрепленных рисунках)

1) рисунок - до заполнения полей
2) после заполнения
...
Рейтинг: 0 / 0
20.02.2017, 17:48
    #39408021
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
второй файл
...
Рейтинг: 0 / 0
20.02.2017, 19:53
    #39408115
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
Проблема со второй картинки очевидна, засада кроется в этом куске кода:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	//Извлечение сообщений из БД
	$n=mysql_num_rows($result);
	$messages=array();
	
	for ($i=0;$i<$n;$i++)
	{
		$row=mysql_fetch_assoc($result);
		$messages=$row;
	}
	return $messages;


Соответственно, в $messages будут поля последней записи, которые массивами не являются.
Вариант решения:
Код: php
1.
$messages[] = $row


Вообще, приведённый кусок кода можно написать много проще:
Код: php
1.
2.
3.
$messages = array();
while($row = mysql_fetch_assoc($result)) $messages[] = $row;
return $messages;



Откуда берётся проблема с первой картинки - сходу не ясно.
...
Рейтинг: 0 / 0
20.02.2017, 20:26
    #39408128
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkle,

Подозреваю ругань на странице + header в конце... Код не смотрел.
...
Рейтинг: 0 / 0
20.02.2017, 22:30
    #39408150
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
DarkMasterПодозреваю ругань на странице + header в конце...Классика же :)
...
Рейтинг: 0 / 0
21.02.2017, 05:57
    #39408216
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
DarkMastervkle,

Подозреваю ругань на странице + header в конце... Код не смотрел.

А как поправить кодировку? что бы не возникали знаки вопроса?
...
Рейтинг: 0 / 0
21.02.2017, 08:43
    #39408253
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
header('Content-Type: ............');
...
Рейтинг: 0 / 0
21.02.2017, 14:33
    #39408509
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleheader('Content-Type: ............');

Исправил строку на следующее -

Код: php
1.
header('Location: http://asarin.ru');



всё равно та же ошибка
...
Рейтинг: 0 / 0
21.02.2017, 14:35
    #39408513
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleDarkMasterПодозреваю ругань на странице + header в конце...Классика же :)
Да понимаю, но как правильно написать кодировку? Браузер хром -
Вот что пишу: (пробую под винду)
Код: html
1.
<meta charset="windows-1251">
...
Рейтинг: 0 / 0
21.02.2017, 15:00
    #39408529
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
RMagistr2015,

Отдайте скриптом правильный заголовок Content-Type с указанием необходимой кодировки или настройте соответствующим образом вебсервер.
...
Рейтинг: 0 / 0
21.02.2017, 18:14
    #39408691
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleRMagistr2015,

Отдайте скриптом правильный заголовок Content-Type с указанием необходимой кодировки или настройте соответствующим образом вебсервер.

Как это сделать? я уже перепробовал разные кодировки
...
Рейтинг: 0 / 0
21.02.2017, 18:28
    #39408700
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
RMagistr2015Как это сделать? 20231575
...
Рейтинг: 0 / 0
22.02.2017, 20:42
    #39409395
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleRMagistr2015Как это сделать? 20231575

Ну я и написал - редирект на свой сайт, всё равно выдает ошибку
Код: php
1.
header('Location: http://asarin.ru');


закоментировал эту строку, потом стало выдавать ошибку в файле TPL, в месте

Код: html
1.
2.
3.
4.
5.
6.
7.
<?php foreach ($messages as $msg): ?>
		<b><?=$msg['name'] ?></b> 
		<?=$msg['dt'] ?>
		<br/>
		<?=$msg['text'] ?>
		<hr/>
	<?php endforeach ?>


Код: php
1.
Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\asarin.ru\tpl.php on line 19
...
Рейтинг: 0 / 0
22.02.2017, 21:02
    #39409400
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleRMagistr2015Как это сделать? 20231575
Я вообще не пониамю почему не работает, сделал всё как в примере, не понятно что за функция такая, что ей нужно, всё написал как в мануала, всё равно ошибка, чтож такое-то
...
Рейтинг: 0 / 0
22.02.2017, 21:44
    #39409406
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
RMagistr2015Ну я и написалНайдите сколько-нибудь различий в словах "Content-Type" и "Location".

RMagistr2015редирект на свой сайтА зачем?

RMagistr2015Я вообще не пониамю почему не работает, сделал всё как в примереЛибо пример не даёт исчерпывающей информации, либо сделали что-то не так. Кроме того, пример может исправно работать "на компьютере автора и в его присутствии", но это никоим образом не означает, что он будет так же исправно работать на любом компьютере/сервере с любыми настройками. Ваши файлы, так понимаю, в cp1251. А какой чарсет указан в заголовках вебсервера? Сильно подозреваю, что какой-то другой, потому и крякозябрики.

RMagistr2015не понятно что за функция такаяЧитаем мануал, там написано. Если всё ещё не понятно - читаем учебники по используемому языку программирования и спецификации протокола HTTP.
...
Рейтинг: 0 / 0
23.02.2017, 12:52
    #39409544
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
Подскажите пожалуйста, почему вот тут
Код: html
1.
2.
3.
4.
5.
6.
7.
<?php foreach ($messages as $msg): ?>
		<b><?=$msg['name'] ?></b> 
		<?=$msg['dt'] ?>
		<br/>
		<?=$msg['text'] ?>
		<hr/>
	<?php endforeach ?>


возникать подобная ошибка?
Код: html
1.
Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\asarin.ru\tpl.php on line 19
...
Рейтинг: 0 / 0
23.02.2017, 13:09
    #39409551
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
RMagistr2015редирект на свой сайтА зачем?
Признаюсь честно - не знаю, так говорится в примере, мол нужно делать редирект на свой сайт после ввода имени и отправляемого сообщения, что бы снова вернуться на свою страницу
закомментировал этот код - ошибка не возникает )))
с кодировкой то же разобрался - переделал кодировку в notepad
остался только вопрос с выводом шаблона в foreach (((( не понимаю, почему не работает, подскажите пожалуйста куда копать хотя бы (((
...
Рейтинг: 0 / 0
23.02.2017, 15:05
    #39409586
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
RMagistr2015остался только вопрос с выводом шаблона в foreach (((( не понимаю, почему не работает, подскажите пожалуйста куда копать хотя бы (((Перед циклом добавьте var_dump($messages); и смотрите, что там, в этой переменной. По идее, там массив должен быть, а по факту там что-то другое. Ну и разбирайтесь, откуда оно берется.
...
Рейтинг: 0 / 0
24.02.2017, 06:24
    #39409792
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleПроблема со второй картинки очевидна, засада кроется в этом куске кода:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	//Извлечение сообщений из БД
	$n=mysql_num_rows($result);
	$messages=array();
	
	for ($i=0;$i<$n;$i++)
	{
		$row=mysql_fetch_assoc($result);
		$messages=$row;
	}
	return $messages;


Соответственно, в $messages будут поля последней записи, которые массивами не являются.
Вариант решения:
Код: php
1.
$messages[] = $row


Вообще, приведённый кусок кода можно написать много проще:
Код: php
1.
2.
3.
$messages = array();
while($row = mysql_fetch_assoc($result)) $messages[] = $row;
return $messages;



Откуда берётся проблема с первой картинки - сходу не ясно.

Как понять -массивами не являются? подскажите пожалуйста что почитать конкретно по этому поводу?
...
Рейтинг: 0 / 0
24.02.2017, 06:25
    #39409794
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleПроблема со второй картинки очевидна, засада кроется в этом куске кода:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	//Извлечение сообщений из БД
	$n=mysql_num_rows($result);
	$messages=array();
	
	for ($i=0;$i<$n;$i++)
	{
		$row=mysql_fetch_assoc($result);
		$messages=$row;
	}
	return $messages;


Соответственно, в $messages будут поля последней записи, которые массивами не являются.
Вариант решения:
Код: php
1.
$messages[] = $row


Вообще, приведённый кусок кода можно написать много проще:
Код: php
1.
2.
3.
$messages = array();
while($row = mysql_fetch_assoc($result)) $messages[] = $row;
return $messages;



Откуда берётся проблема с первой картинки - сходу не ясно.

вообще как это понят ??? Как понять что именно передаётся в этот массив? что почитать по этому поводу?
...
Рейтинг: 0 / 0
24.02.2017, 09:37
    #39409803
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маленький чатик
vkleRMagistr2015остался только вопрос с выводом шаблона в foreach (((( не понимаю, почему не работает, подскажите пожалуйста куда копать хотя бы (((Перед циклом добавьте var_dump($messages); и смотрите, что там, в этой переменной. По идее, там массив должен быть, а по факту там что-то другое. Ну и разбирайтесь, откуда оно берется.

Вывел так, всё нормально, массив весь вывелся полностью, а потом всё равно выходит ошибка
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Маленький чатик / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]