Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Установка кода на различные движки (http://forum.sape.ru/forumdisplay.php?f=26)
-   -   Ошибка Call to a member function on a non-object (http://forum.sape.ru/showthread.php?t=59678)

vintveb 09.10.2010 20:15

Ошибка Call to a member function on a non-object
 
Движок самописный.
Проблема вот в чем, при установке кода непосредственно в файл , к примеру index.php , никаких проблем нет , все выводится корректно , но как только я размещаю код вывода ( <?php
global $sape;
echo $sape->return_links();
?>) в подключаемом файле через
require ("/chablon/footer.php");
появляется ошибка .
Может кто подскажет что делать ?

zhegloff 09.10.2010 22:19

либо вывод идет раньше конструктора либо переменную $sape в индексе создаете не как глобальную.

vintveb 10.10.2010 14:17

переменная $sape глобальная , все четко по инструкции

<?php
global $sape;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', '*****************');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>

Добавлено через 13 часов 24 минуты
:) Проблема вроде решена, но!!!
Ошибка пропала , но как теперь заставить выводиться их там где мне нужно.
В подключаемых файлах ссылки не выводятся ? А в основной все нормально...
При проверке правильности установки кода

$o['force_show_code'] = true;
$sape = new SAPE_client($o);

в нужных местах появляется
<!--check code-->

Так почему же ссылки там не выводяться ?

zhegloff 10.10.2010 15:11

vintveb, как решили проблему, как сейчас установлен код?

vintveb 10.10.2010 16:05

может кому поможет.
К примеру имеем страницу index.php , меню которой подключается из файла menu.php

В файле index.php вставляем код:
<?php
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'ab5c053e182242c1a35211f71cebe57f');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>

а в файл menu.php
вставляем код:
<?php
global $sape;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'ab5c053e182242c1a35211f71cebe57f');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
<?php
global $sape;
echo $sape->return_links();
?>
а, теперь внимание самый прикол! Проверяем на правильность установки кода,
там где была вставка вывода ссылок
(<?php
global $sape;
echo $sape->return_links();
?>
) появилось <!--check code-->
Вывод : код установлен правильно , но как только переходим к практике , на этом месте ссылки не выводятся ?????
Если переносим код
<?php

echo $sape->return_links();
?>
в файл index.php - все работает , ссылки показывает , переносим в подключаемый файл - ссылки пропадают ...
И что теперь делать , на что грешить ???

zhegloff 10.10.2010 16:58

Если вы вызываете конструктор в menu.php, то зачем он еще и в index.php?
menu.php похоже не знает, на какой странице оно подключается.
Вы похоже не особо сильны в ПХП, советую вам найти человека, которій поставит вам код... ну или изучайте :)

vintveb 10.10.2010 20:55

:) , может и не силен , но подскажите мне что делать , если страница состоит их основного файла index.php и подключаемой из нее 5 файлах , (левое меню , правое меню, подвал , вверхняя часть и средняя часть - контент.)? если я не буду вызывать конструктор в каждом из этих пяти файлах , мне просто будет выдавать ошибку ???
Да , и почему тогда проверка корректности установки кода показывает положительный результат ?

Anadonam 10.10.2010 21:18

размести весь код в одном файле сплошником не разделяя его на части
(например в футере в том месте где нужно отображать ссылки)

ps/ про то что ты уже сделал и что то там тестилось забудь- по новой делай...

vintveb 10.10.2010 21:26

сейчас оно так и реализовано , но хотелось бы по всей странице разбросать , чтобы поисковикам ссылки глаза не мазолили


Часовой пояс GMT +3, время: 11:04.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.