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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт не хочет вызываться через инклуд, Ошибка в share/smarty 
V
    Опции темы
bncom
Дата 4.11.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: нет
Всего: 1



День добрый.

Есть скрипт для вывода 10 последних постов с форума IPB. Сам скрипт работает нормально, однако мне нужно встроить его в сайт.
Делаю инклуд в блоке сайта, ничего не выводится. Попробывал создать файл, туда вставил инклуд, при обращении к фалу - выводится строка из echo, но 10 постов не хотят показываться.

Файл last.php
Код

<?php
echo '123';
include('/forum/latest_posts.php');
?>


Сам скрипт:

Код

<?php
//Префикс таблицы с IPB
$prefix = 'RR_';
//Сколько тем выводить
$num = 10;
//Сколько символов оставить в названии темы после урезания
$topic_num_sym = 50;
//Форумы, которые мы не трогаем
//$forumexclude = '15,23';
//Сервер БД на котором висит база форума
$host="localhost";
//Имя БД
$database="123";
//Логин БД
$username="123";
//Пароль БД
$password="123";

//====[Если не знаем PHP - дальше ничего не трогаем :)]=========
$ipb_db = mysql_pconnect($host, $username, $password);
mysql_select_db($database, $ipb_db);
$rd = "SET CHARACTER SET utf8";

if (!$result = mysql_query($rd))
{
    echo "Фигня какая-та... Эррор. =(\n";
}

$resultf = mysql_query("SELECT tid, title, description, posts FROM ".$prefix."topics WHERE forum_id ORDER BY last_post DESC LIMIT $num",$ipb_db) or die(mysql_error());
$row_resultf = mysql_fetch_assoc($resultf);
$totalRows_resultf = mysql_num_rows($resultf);
do {
        $topicstrip = $row_resultf['title'];
        if (strlen($topicstrip) > $topic_num_sym) 
        {
            $topicstrip = substr($topicstrip,0,$topic_num_sym);
            $topicstrip = $topicstrip."...";
        }
        $last_date = date($time,$row_resultf['last_post']);
        $bt.= "<a title=\"".$row_resultf['description']."\" href=\"/index.php?showtopic=".$row_resultf['tid']."&view=getlastpost\">$topicstrip</a>&nbsp;";
        $bt.= "(".$row_resultf['posts'].")<br />";

    } while($row_resultf = mysql_fetch_assoc($resultf));
    
mysql_free_result($resultf);

echo $bt;
return $bt;

?>


Начал раться в логах, там вот что написано:

PHP Warning:  include() [<a href='function.include'>function.include</a>]: Failed opening '/forum/latest_posts.php' for inclusion (include_path='.:/usr/local/php5/share/smarty') in /home/site/site.ru/html/last.php on line 3

Начал в инете рыться про smarty, вычитал, что он не всегда корректно работает с многотабличными запросами. Видимо, из-за этого и ничего не показывается.

Кто-нибудь сталкивался с этой проблемой? И почему именно скрипт через инклуд не работает? Ведь если файл со скриптом запускать - то все нормально.

Может тогда подскажите, что надо сделать, чтобы через инклуд скрипт заработал?

Это сообщение отредактировал(а) bncom - 5.11.2009, 09:15
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
Ипатьев
Дата 4.11.2009, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Эх. Опять азы компьютерной грамотности объяснять...
Код

include($_SERVER['DOCUMENT_ROOT'].'/forum/latest_posts.php');

include('/home/u01381/site.ru/html/forum/latest_posts.php');
если первый вдруг не сработает.


Это сообщение отредактировал(а) Ипатьев - 5.11.2009, 10:08
PM MAIL   Вверх
bncom
Дата 4.11.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: нет
Всего: 1



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

Опять полез в логи, выдало следующее:

PHP Fatal error:  Call to a member function setQuery() on a non-object in /home/site/site.ru/html/administrator/components/com_docman/classes/DOCMAN_user.class.php on line 189

Я так понимаю, именно из-за setQuery() ошибка и вылетает.

В файле DOCMAN_user.class.php 189 строка:

Код

$database->setQuery("SELECT groups_id,groups_members " .
                            "\n FROM #__docman_groups");


Странно конечно, ошибка на setQuery() появляется только при инклуде файла скрипта.

Это сообщение отредактировал(а) bncom - 5.11.2009, 09:16
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
Pitlord
Дата 4.11.2009, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 4
Всего: 7



bncom, я тебе советую сейчас пароль MySQL-пользователя поменять, потому что ты и адрес сайта, и пароль запалил.

Цитата(bncom @  4.11.2009,  21:53 Найти цитируемый пост)
PHP Fatal error:  Call to a member function setQuery() on a non-object in /home/u01381/fifarus.ru/html/administrator/components/com_docman/classes/DOCMAN_user.class.php on line 189

Это означает, что $database не является объектом. Так трудно сказать почему именно при include'е такое возникает.

Это сообщение отредактировал(а) Pitlord - 4.11.2009, 22:27
PM MAIL   Вверх
Ипатьев
Дата 4.11.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



не создан объект $database
возможно, в скрипте есть такая переменная и она его перезаписывает

PM MAIL   Вверх
MoLeX
Дата 5.11.2009, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



не совесм понял смысл этих строчек, просвяти безграмотного
Код

echo $bt;
return $bt;



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
bncom
Дата 5.11.2009, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: нет
Всего: 1



Все правильно, две переменные $database в двух скриптах были, и из-за этого конфликт возникал.

Спасибо всем за помощь.

Это сообщение отредактировал(а) bncom - 5.11.2009, 09:55
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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