Реклама на сайте Advertise with us

Куда деваются переменные?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 02.01.04
Сообщения: 1246
Рейтинг: 54

Ссылка на сообщениеДобавлено: 23/04/09 в 04:42       Ответить с цитатойцитата 

на пхп сделал такую вещь, напр в файле есть инклуд и код:

Код:

<?
@include "somedomain.com/site.php?site=81";
echo $title;
?>


Переменная title инициируется в инклуде, но значение не сохраняет когда используется в файле, откуда вызывается инклуд. Вроде должно работать.. пробовал объявлять переменную перед include в этом же файле, где и вызывается, не помогло

Может нужно не .php а .inc файл инклудить, или еще что..

Последний раз редактировалось: Proo (23/04/09 в 14:30), всего редактировалось 1 раз

0
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 23/04/09 в 05:19       Ответить с цитатойцитата 

так не будет работать. подключаемые скрипты нельзя через http грузить, только с файловой системы. http://ru2.php.net/include/

3
 



С нами с 19.10.05
Сообщения: 351
Рейтинг: 755

Ссылка на сообщениеДобавлено: 23/04/09 в 11:06       Ответить с цитатойцитата 

allow_url_include = On
В php.ini если включён то должно работать!

6+9

3
 



С нами с 19.10.05
Сообщения: 351
Рейтинг: 755

Ссылка на сообщениеДобавлено: 23/04/09 в 12:01       Ответить с цитатойцитата 

хотя переменную брать небудет всёравно с другого хоста. но подтянуть файл сможеш!

6+9

3
 



С нами с 10.12.02
Сообщения: 31
Рейтинг: 49

Ссылка на сообщениеДобавлено: 23/04/09 в 13:01       Ответить с цитатойцитата 

Поможет комбинация

site.php на выходе должно выдавать
Код:
echo $title;



в этом случае
Код:
<?php
$f=file("http://somedomain.com/site.php?site=81");
$title_read=$f[0];
?>

Где старый&добрый конверт ? Лей гей траф сюда
Лей шимейл траф сюда

3
 



С нами с 02.01.04
Сообщения: 1246
Рейтинг: 54

Ссылка на сообщениеДобавлено: 23/04/09 в 14:37       Ответить с цитатойцитата 

Цитата:
Поможет комбинация

site.php на выходе должно выдавать
Код:
echo $title;



в этом случае
Код:
<?php
$f=file("http://somedomain.com/site.php?site=81");
$title_read=$f[0];
?>


там много переменных, не только тайтл..

как то сложновато..

все оценил, надесюсь еще варианты есть )

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 23/04/09 в 15:26       Ответить с цитатойцитата 

можно поизвращаться в этом духе smail101.gif
site.php на выходе должно выдавать Код:
echo $title."\n";
echo $title2."\n";
echo $title3."\n";

<?php
$f=file("http://somedomain.com/site.php?site=81");
$title=$f[0];
$title2=$f[1];
$title3=$f[2];
?>

переменные, они какбэ внутри сервера и передать их с одного сервера на другой невозможно без жеских извращений smail101.gif

можно еще вот так поизвращаться smail101.gif
site.php на выходе должно выдавать Код:
echo "$title:|:$title2:|:$title3";

<?php
$f=file("http://somedomain.com/site.php?site=81");
list($title, $title2, $title3) = explode("icon_neutral.gif:", $f);

0
 



С нами с 02.01.04
Сообщения: 1246
Рейтинг: 54

Ссылка на сообщениеДобавлено: 23/04/09 в 19:27       Ответить с цитатойцитата 

Цитата:
можно поизвращаться в этом духе


Да уж icon_smile.gif

Еще хочу рассмотреть вариант подключения к БД вместо инклудов.. дело в том что запросы будут идти с разных хостов, а данные как бы на одном сервере..

Как думаете подлючение к БД с др. серверов нормальный вариант?

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 23/04/09 в 19:32       Ответить с цитатойцитата 

Proo писал:

Как думаете подлючение к БД с др. серверов нормальный вариант?


нормальный, главное не забывать закрывать соединения icon_lol.gif

0
 



С нами с 02.01.04
Сообщения: 1246
Рейтинг: 54

Ссылка на сообщениеДобавлено: 23/04/09 в 20:01       Ответить с цитатойцитата 

Цитата:
нормальный, главное не забывать закрывать соединения icon_lol.gif


че были прецеденты icon_smile.gif?

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 28/04/09 в 09:12       Ответить с цитатойцитата 

Вы где такую траву берёте....? icon_smile.gif

Мой блог: seo blog

0
 



С нами с 03.05.07
Сообщения: 801
Рейтинг: 825

Ссылка на сообщениеДобавлено: 28/04/09 в 18:24       Ответить с цитатойцитата 

Сделаешь allow_url_include = On и когда-нибудь встретишь утро с новостью о заломанном сервере. Нахуй такое советовать человеку - за такое руки надо отрывать.

Удалённый коннект к базе возможен, только не забудь привязать по ипу.

Для подобных вещей умные люди придумали протоколы типа SOAP. Если лень разбираться с этим, то передавай все нужные данные с помощью serialize и распаковывать с помощью unserialize. Т.е. на удалённом сервере делай:

Код:

$data["title"]="что нужно";
$data["description"]="ещё что-нибудь";
echo serialize($data);

а на клиенте:
Код:
extract(unserialize(file_get_contents("http://somedomain.com/site.php?site=81")),EXTR_SKIP);
echo $title;
echo $description;


Простейший вариант, тоже далеко не лучший.

создай свою партнёрку

0
 



С нами с 23.12.08
Сообщения: 232
Рейтинг: 101

Ссылка на сообщениеДобавлено: 28/04/09 в 19:45       Ответить с цитатойцитата 

> Для подобных вещей умные люди придумали протоколы типа SOAP
+1

> serialize и распаковывать с помощью unserialize
кроме того, снабжаешь весь свой "кластер" приват/паблик ключами (или просто обычный симметричный ключ), и упомянутое выше утро, на некоторое время, произойдёт с отсрочкой ;)

зы: и вообще, имхо в ПЫХе много всякого кариеса от прошлых версий (типа ради совместимости) осталось... это не означает, что всё это можно использовать без последствий;)

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 28/04/09 в 23:44       Ответить с цитатойцитата 

Formator писал:
Если лень разбираться с этим, то передавай все нужные данные с помощью serialize и распаковывать с помощью unserialize.


Если php 5.2 - то лучше json. json_encode/json_decode. Все просто и куда надежнее.

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 29/04/09 в 00:20       Ответить с цитатойцитата 

Formator +1, только как ты написал - нельзя - получается дыра для неопредёлённого кол - ва параметров.

Надо на стороне приёма:
list($title, $description, ...) = unserialize(file_get_contents("http://somedomain.com/site.php?site=81"));

либо, если совсем туго с пониманием процессов воспользоваться советом ibiz.

Мой блог: seo blog

0
 



С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430

Ссылка на сообщениеДобавлено: 29/04/09 в 10:31       Ответить с цитатойцитата 

дык пиши там просто $title = "blabla";
потом eval() юзай и все

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 29/04/09 в 13:22       Ответить с цитатойцитата 

Цитата:
дык пиши там просто $title = "blabla";
потом eval() юзай и все


Нельзя так делать, уже писал постом выше почему. Хочешь передать стопку переменных - конкретизируй на стороне приёма какие именно переменные ты хочешь принять (а лучше и тип данных, если можно конечно).

Мой блог: seo blog

0
 



С нами с 27.04.09
Сообщения: 7
Рейтинг: 6

Ссылка на сообщениеДобавлено: 30/04/09 в 10:39       Ответить с цитатойцитата 

спасибо поржал
скока кодеров развелось.. icon_razz.gif

0
 



С нами с 23.12.08
Сообщения: 232
Рейтинг: 101

Ссылка на сообщениеДобавлено: 30/04/09 в 15:58       Ответить с цитатойцитата 

Гы, чё вы ссоритесь ;)
В общем, ТС, если проблема ещё актуальна – тогда плиз конкретизируй: статические ли ИПы на всех хостингах, зависящих от централизованной БД, имеется ли возможность разрешать удалённый мускульный доступ на сервере где БД.
Если это всё true, то тогда делай так, как говорил ibiz, всё.
Если же что то из этого не выполняется, то ИМХО, в порядке простоты (но не эффективности):

1. метод с serialize (Sirgey + +, я цитировал только саму суть операций, естественно, extract это зло в данном случае)
2. xml-rpc/soap

Кстати, решение типа list($title, $description, ...), ИМХО так же не является достаточно правильным (разумеется, основываясь только на той инфе, которую предоставил ТС) так как является прямым примером жёсткой зависимости в архитектуре (всё-таки распределённая система ;) и избавиться от которой, можно например сведением зависимостей экспортирующей/импортирующих частей к одному транспортному интерфейсу. То есть все учавствующие в обмене стороны, знают интерфейс некоего Registry, реализующим методы типа setProperty($name, $value), getProperty($name), и возможно, умеющий самостоятельно сериализоваться/десериолизоваться… то есть, упрощённое подобие Transition Object. Ну или просто тупо ассоциативный массив по сети гонять ;)

То есть, поскольку до конца не ясны масштабы сети, нагрузки на БД, род запросов, универсальность базы (что там вообще - ферма сплогов, аутентификация, единная для всех сайтов "класстера") и т.д., кроме сериализации (без кеширования и прочих наворотов) ИМХО, слегка сложновато, НО! Если есть возможность конфигурировать удалённый доступ к мускулю на стороне сервера БД, юзай именно это… ИМХО ;)

~~~
правка: и т.д., РЕКОМЕНДОВАТЬ кроме сериализации (без кеширования и прочих наворотов) ИМХО,

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »