Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Установка кода на различные движки (http://forum.sape.ru/forumdisplay.php?f=26)
-   -   ЧПЮ+include? (http://forum.sape.ru/showthread.php?t=18714)

Challenger 29.09.2008 21:26

ЧПЮ+include?
 
Изучил ФАК, но не нашел такой ситуации.. Кстати да, код не работает у меня на сайте. И так что я делал:
1) Код
PHP код:

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

поместил в файл, который проинклудил в index.php

Так выглядит инклуд футера:
Код:

include_once ENGINE_DIR.'/footer.php';
2.1) В index.php добавил:
Код:

include('http://.com/engine/footer.php?uri='.$_SERVER['REQUEST_URI']);
...и, получилось:
Код:

include_once ENGINE_DIR.'/footer.php';
include('http://.com/engine/footer.php?uri='.$_SERVER['REQUEST_URI']);

2) Дальше добавил следующий код в футер:
PHP код:

<?php 
    $o
['request_uri'] = $_GET['uri']; // Явно задаём текущую страницу
    
$sape = new SAPE_Client($o);
        global 
$sape
        echo 
$sape->return_links();
?>

Футер инклудится.
3) Левый столбик у меня инклудится отдельно, т.к. содержит очень много кода. Поэтому в него добавил:
Код:

<?php
    global $sape;
    echo $sape->return_links(2);
?>

Не в левом столбике, не в футре в исходном коде не выводится закомментированный текст или символ, как написано в факе.
Подскажите что нетак, пшп я шарю , но сапа-код ... впервый раз ставлю, и сразу вот так :( Да, сайт на ЧПУ (мод_реврайт тоесть) - и может дело еще и в этом?

Добавлено через 1 час 40 минут
В блоке вывода вывел массив $sape через print_R(), собственноЮ вот что получил:

Цитата:

SAPE_client Object ( [_links_delimiter] => [_links] => Array ( [__sape_delimiter__] => [__sape_new_url__] => [__sape_ips__] => Array ( [0] => 217.107.36.73 [1] => 217.107.36.132 [2] => 81.177.144.46 [3] => 87.242.74.101 [4] => 80.251.136.38 ) ) [_links_page] => Array ( ) [_user_agent] => SAPE_Client PHP [_version] => 1.0.3 [_verbose] => [_charset] => [_server_list] => Array ( [0] => dispenser-01.sape.ru [1] => dispenser-02.sape.ru ) [_cache_lifetime] => 3600 [_cache_reloadtime] => 600 [_error] => [_host] => atg-ug.com [_request_uri] => avto/ [_multi_site] => [_fetch_remote_type] => [_socket_timeout] => 6 [_force_show_code] => [_is_our_bot] => [_debug] => [_db_file] => /sata1/home/users/*****/www/*****.com/***************/links.db )
Следовательно, путь он определяет. В чем тогда может быть проблема?

SeoProger 29.09.2008 22:47

Без явного указания страницы разве она определяется неверно? попробуйте убрать эти строчки из футера:

PHP код:

 $o['request_uri'] = $_GET['uri']; // Явно задаём текущую страницу 
    
$sape = new SAPE_Client($o); 

Если не получится, тогда измените футер на
PHP код:

<?php  
    $o
['request_uri'] = $_GET['uri']; // Явно задаём текущую страницу 
        
global $sape;  
    
$sape = new SAPE_Client($o); 
unset(
$o);
        echo 
$sape->return_links(); 
?>


slavs™ 29.09.2008 23:23

Цитата:

Сообщение от Challenger (Сообщение 251812)
include('http://.com/engine/footer.php?uri='.$_SERVER['REQUEST_URI']);

У Вас сервер позволяет инклюдить адрес таким образом? Этож дыра размером с паравоз

Challenger 30.09.2008 01:55

Цитата:

Сообщение от slavs™ (Сообщение 252066)
У Вас сервер позволяет инклюдить адрес таким образом? Этож дыра размером с паравоз

я сделал как обычно, бе всяки изменений - постандартному , в массиве все присутствует и путь и все иже с ним, но <!-- --> не выводится. Странно. Что еще может помешать? Если пути скрипт все-таки получает ?

Mr.Roman 30.09.2008 03:30

А не судьба поместить код Sape (первый пункт) в index.php без инклудов.
Он не 3 километра длиной чтобы выносить в отдельный файл и загружать все это через дымоход.

wildlion 30.09.2008 11:26

Цитата:

Сообщение от Mr.Roman (Сообщение 252179)
А не судьба поместить код Sape (первый пункт) в index.php без инклудов.
Он не 3 километра длиной чтобы выносить в отдельный файл и загружать все это через дымоход.

+100...
действительно... зачем отдельный файл??? зачем явно указывать URL он и так отлично определяется хоть ЧПУ у Вас хоть без...
просто вставьте код в index.php и все будет работать... (как говорится "зачем козе баян?" :) )

Challenger 30.09.2008 15:17

Цитата:

Сообщение от wildlion (Сообщение 252293)
+100...
действительно... зачем отдельный файл??? зачем явно указывать URL он и так отлично определяется хоть ЧПУ у Вас хоть без...
просто вставьте код в index.php и все будет работать... (как говорится "зачем козе баян?" :) )

Да всеравно, хоть убей его - не работает. Какие проверки можно выполнить? Мне что то подсказывает, что функция return_links() просто не получает из класса того, что ей нада...

Mr.Roman 30.09.2008 19:14

Challenger, А ты не вызывай ее 3 раза в разных местах.
Попробуй чтоли в индексе передать нескольким переменным значения ссылок.
т.е.
$perem1 = $sape->return_links(3);
$perem2 = $sape->return_links(1);
$perem3 = $sape->return_links();

Или как там тебе их надо разнести по блокам.
А в нужных блоках уже отдельно выведешь переменные, чтобы не обращаться к функции и переменной $sape.
Ну и условия заодно добавь перед выводом на проверку - if (!empty($perem1)) {echo $perem1;} Можно туда же запихнуть и кусок околоссылочной массы, т.е. начало и конец таблицы или тегов в которых у тебя выводится ссылка, дабы не создавать лишние пустые места на странице когда сслки не раскуплены.

З.Ы. Пришла мысль а не выключены ли глобальные переменные на сервере ? может в htaccess включить на всякий случай для проверки того что сей час написано.

Ufaweb 30.09.2008 19:15

Цитата:

Сообщение от Challenger (Сообщение 251812)
include('http://.com/engine/footer.php?uri='.$_SERVER['REQUEST_URI']);

Че это за уйня? :D
Аааа, вытащите мну из-под стола :D

Запомните раз и навсегда, уважаемый
Цитата:

Сообщение от Challenger (Сообщение 251812)
пшп я шарю

что все проинклюженные скрипты являются частью инклюдящего скрипта. То есть, если в index.php написать $query= 'вротмненоги'; include('footer.php');, а в footer.php написать print $query;, то будет выведено
Цитата:

вротмненоги
Поэтому в index.php пишем


PHP код:

<?
@define('_SAPE_USER''**********************');  
if(@include_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php')){ 
     
$sape = new SAPE_client();
}

че_там_у_вас_раньше_было
?>

а в footer.php или в каких-то других подключаемых кусках пишем
PHP код:

echo $sape->return_links(2); 

Не нужно мудить с request_uri и global!

Challenger 30.09.2008 19:23

Цитата:

Сообщение от Ufaweb (Сообщение 252880)
Че это за уйня? :D
Аааа, вытащите мну из-под стола :D

Запомните раз и навсегда, уважаемый

что все проинклюженные скрипты являются частью инклюдящего скрипта. То есть, если в index.php написать $query= 'вротмненоги'; include('footer.php');, а в footer.php написать print $query;, то будет выведено Поэтому в index.php пишем


PHP код:

<?
@define('_SAPE_USER''**********************');  
if(@include_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php')){ 
     
$sape = new SAPE_client();
}

че_там_у_вас_раньше_было
?>

а в footer.php или в каких-то других подключаемых кусках пишем
PHP код:

echo $sape->return_links(2); 

Не нужно мудить с request_uri и global!

эммм как бы так покороче написать.... не работает. Что касается вытаскивания вас из-род стула, то , возможно, полезно будет почитать FAQ, в котором используется именно такая конструкция.


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

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