Перейти к контенту
  • 0

Портятся мои посты


53***

Вопрос

Когда я публикую какой нибудь пост большой (где то 15 строк) , то весь пост портится.

 

Либо половино текста исчезает и в конец добавляются разные символы тапи %u %d

 

Иногда пост дублириется т.е. один и тот же текст склеивается с самыми разными искажениями.

 

Что делать ? Версия 2,1,7

 

 

 

Раньше всё ок было.

Последнии моды иконки форума и скрытый текст.

 

В базе посты уже лежат испорченные.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
В теге form нигде метод post на метод get не поменялся? :D

 

Везде пост

 

 

Поставь win1251

 

Где поставить ?

Вроде и так всё стоит.

 

 

Настройки для группы: Глобальные Настройки форума

 

Кодировка страниц форума -> windows-1251

Ссылка на комментарий
Поделиться на других сайтах

  • 0
В базе.

Обрати внимание:

пост большой (где то 15 строк) , то весь пост портится.

15 строк текста - это примерно 1500-2000 букв.

В вебэнкодинге умножаем на 3 - выходит примерно шесть тысяч.

Это как раз ограничения длинны адресной строки.

Ячейка БД принимает существенно больше...

 

Я потому и спросил про метод "гет", что обрезка после 15 строк и на срезе значки процентов наводят на мысль об адресной строке...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В БД ср1251

 

Что может быть ещё ? :D

 

На денвере вроде всё ОК.

 

И ещё, портятся только мой посты(администратора). У пользователей всё ок.

 

И ещё, портятся только мой посты(администратора). У пользователей всё ок.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

И я не уточнил как они портытся.

 

Я нажимаю ответить, открывается тема с моим нормальным ответом.

Затем я нажимаю на главную и вижу, что значок цветной т.е. есть не прочитанные темы.

Непрочитанная тема, посл. ответ: Администратор.

 

Захожу в неё и там пост поломанный.

Такое ощущение что на форуме такой сидит бот и отыскивает мои посты большие и обрезает их.

 

Что можно сделать ? В чём может быть проблема ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
В базе.

Обрати внимание:

пост большой (где то 15 строк) , то весь пост портится.

15 строк текста - это примерно 1500-2000 букв.

В вебэнкодинге умножаем на 3 - выходит примерно шесть тысяч.

Это как раз ограничения длинны адресной строки.

Ячейка БД принимает существенно больше...

 

Я потому и спросил про метод "гет", что обрезка после 15 строк и на срезе значки процентов наводят на мысль об адресной строке...

 

FatCat, а в юникоде всё не iso'шное хранится умноженное на два. Поэтому и в пост убирается в 2 раза меньше, а лишнее обрезается! А при обрезании могут оставаться хвосты от кодировочных символов.

Вот поэтому я и спросил про кодировку.

И хоть post хоть get.

 

Ты просто думаешь про обрезании до сохрания в БД, а я при сохранении. Вот ведь спорщик какой :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

AJAX ? Нет.

 

И так. сейчас повозился и понял, что если просто ответить вроде ничего не портится.

 

Портится при редактировании. И вроде при быстром т.е. AJAX.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

айс!

 

вот тут то мы и нашли причину ошибки

ибо сам сталкивался...

через аякс в базе пост с русскими буквами примет вид xx;yyy; и т.д. каждая буква

 

лечится наличием кода

		$pid		   = intval( $_REQUEST['p'] );
	$fid		   = intval( $_REQUEST['f'] );
	$tid		   = intval( $_REQUEST['t'] );
	$md5_check	 = substr( $this->ipsclass->parse_clean_value( rawurldecode( $_REQUEST['md5check'] ) ), 0, 32 );
	$attach_pids   = array();
  		$_POST['Post'] = $this->convert_unicode( $_POST['Post'] );

	if( strtolower($this->ipsclass->vars['gb_char_set']) != 'iso-8859-1' &&
		strtolower($this->ipsclass->vars['gb_char_set']) != 'utf-8' )
  		{
   		if ( array_key_exists( strtolower($this->ipsclass->vars['gb_char_set']), $this->decode_charsets ) )
   		{
	   		$this->ipsclass->vars['gb_char_set'] = $this->decode_charsets[strtolower($this->ipsclass->vars['gb_char_set'])];
	   		$_POST['Post'] = html_entity_decode( $_POST['Post'], ENT_NOQUOTES, $this->ipsclass->vars['gb_char_set'] );
   		}
  		}

а именно нижней его половины в xmlout.php

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если у топикстартера нету этих строчек, откуда же у него xmlout::decode_charsets()? :D

 

Кто же так нулит-то, блин?!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Начало функции post_edit_save() в файле ./sources/action_public/xmlout.php должно быть таким, т.е. после

	function post_edit_save()
{
	//-----------------------------------------
	// INIT
	//-----------------------------------------

Если у вас чего-то из этих строчек нет — нужно добавить.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

53***

А ты в разных браузерах это проверял?

В каком браузере ты это пробовал (укажи за одно и версию браузера).

 

С сразу к делу. Запусти FireFox с плагином для отладки FireBug (ставится отдельно) и в нем погляди что по аяксу уходит и что приходит в ответ.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

xRay спасибо.

Разделил тему. Продолжаем обсуждать здесь: http://www.ibresource.ru/forums/index.php?showtopic=49744

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.