Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поймите меня правильно... форум 
:(
    Опции темы
Irokez
Дата 17.1.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



на самом деле сообщения с русскими буквами добаляются в базу, просто при этом еще и генерируется ошибка, будто поля пустые, еще не разобрался в причине, но в скором времени постараюсь ее найти, а пока насчет функции
Код

function clean($string)
{
 $string = trim($string);
 $string = htmlentities($string);
 $string = strip_tags($string);
 return $string;
}

по-моему тут вы немного перебрали, достаточно было:
Код

function clean($string)
{
 $string = trim($string);
 $string = htmlspecialchars($string);
 return $string;
}

и еще лучше было б если сворачивать и разворачивать ответы можно было через ява скрипт а не пхп ... вот ... а насчет самой проблемы постараюсь чуть позже
PM   Вверх
Irokez
Дата 17.1.2005, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



уфф...кажется понял в чем дело, вы в функции function store_new_post($post) забыли эту строчку:
Код

return true;

PM   Вверх
Mont
Дата 18.1.2005, 05:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Vingrad developer
Сообщений: 274
Регистрация: 13.11.2004
Где: Altay

Репутация: 8
Всего: 12



SWeb - FAQ

При инсталляции фрумов (phpBB, IBF, IPB) возникает ошибка базы данных: ERROR 1267 (HY000): Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
Ошибка вызванна отсутствием поддержки MySQL-4.1 (установленной на наших новых серверах) со стороны указанных форумов. В MySQL-4.1 введена широкая поддержка работы с различными кодировками, причём есть возможность задавать разные кодировки на уровне соединения, сервера, базы данных, таблицы, полей таблицы, а так же для сравнений. Для корректной работы с кодировками в MySQL-4.1 необходимо сразу после соединения с базой указывать кодировку в которой будут посылаться запросы, а так же кодировку на результат возвращаемых базой данных. Всё это можно сделать с помощью одного SQL запроса:

SET NAMES cp1251

Например, для PHP скриптов работающих с MySQL-4.1 после успешного вызова mysql_connect() нужно вызвать

mysql_query("set names cp1251").

Необходимую поправку клиенты могут внести самостоятельно либо с помощью службы тех. поддержки.


--------------------
"Если однажды Вдруг
Меня не окажется вовсе
в заповедной заветной тарелке
Твоего праведного сновидения
Знай - Неуловимые мстители настигли меня."
© Егор Летов
PM MAIL ICQ   Вверх
PARROT
Дата 18.1.2005, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Irokez @ 17.1.2005, 19:26)
уфф...кажется понял в чем дело, вы в функции function store_new_post($post) забыли эту строчку:
Код

return true;

Можно более подробно, в каком именно месте не хватает данной строки.

А добавление SET NAMES cp1251, проблему не решило.
На моей машине этот форум вообще не работает, даже если писать транслитом.
Как поступить? Скачать новую версию денвера?


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 18.1.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(PARROT @ 18.1.2005, 13:48)
Можно более подробно, в каком именно месте не хватает данной строки.

В конце самой функции - store_new_post
PM   Вверх
PARROT
  Дата 18.1.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Irokez @ 18.1.2005, 17:18)
Цитата(PARROT @ 18.1.2005, 13:48)
Можно более подробно, в каком именно месте не хватает данной строки.

В конце самой функции - store_new_post

А можно код функции посмотреть?
У меня ничего не меняется.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 18.1.2005, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Код

function store_new_post($post)
{
 // validate clean and store a new post

 $conn = db_connect();
 // check no fields are blank
 if(!filled_out($post))
 {
   return false;
 }
 $post = clean_all($post);

 //check parent exists
 if($post['parent']!=0)
 {
   $query = "select postid from header where postid = '".$post['parent']."'";
   $result = mysql_query($query);
   if(mysql_numrows($result)!=1)
   {
     return false;
   }
 }

 // check not a duplicate
 $query = "select header.postid from header, body where
          header.postid = body.postid and
          header.parent = ".$post['parent']." and
          header.poster = '".$post['poster']."' and
          header.title = '".$post['title']."' and
          header.area = ".$post['area']." and
          body.message = '".$post['message']."'";
 $result = mysql_query($query);
 if (!$result)
 {
    return false;
 }
 if(mysql_numrows($result)>0)
    return mysql_result($result, 0, 0);

 $query = "insert into header values
          ('".$post['parent']."',
           '".$post['poster']."',
           '".$post['title']."',
           0,
           '".$post['area']."',
           now(),
           NULL
          )";
 $result = mysql_query($query);
 if (!$result)
 {
    return false;
 }

 // note that our parent now has a child
 $query = 'update header set children = 1 where postid = '.$post['parent'];
 $result = mysql_query($query);
 if (!$result)
 {
    return false;
 }

 // find our post id, note that there could be multiple headers
 // that are the same except for id and probably posted time
 $query = "select header.postid from header left join body on header.postid = body.postid
                 where parent = '".$post['parent']."'
                 and poster = '".$post['poster']."'
                 and title = '".$post['title']."'
                 and body.postid is NULL";
 $result = mysql_query($query);
 if (!$result)
 {
    return false;
 }
 if(mysql_numrows($result)>0)
   $id = mysql_result($result, 0, 0);

 if($id)
 {
    $query = "insert into body values ($id, '".$post['message']."')";
    $result = mysql_query($query);
    if (!$result)
    {
      return false;
    }

   return $id;
 }

return true;
}


и

Код

function clean($string)
{
 $string = trim($string);
 $string = htmlspecialchars($string);
 return $string;
}



Это сообщение отредактировал(а) Irokez - 18.1.2005, 22:06
PM   Вверх
PARROT
Дата 19.1.2005, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Вроде все нормально, на сервере работает.
Спасибо!
Только вот на моей машине отказывается, что делать?
Закачать новую версию денвера? Поможет?

smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 19.1.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



я бы советовал апач, а вообще дело должно быть не в этом, вохможно у вас старая версия пхп, mysql или что-то в настройках пхп
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0820 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.