$GLOBALS['var'] от скрипта к скрипту...

StUV

Rotaredom
$GLOBALS['var'] от скрипта к скрипту...

index.php :

PHP:
<?php
  global $var;
  $var = 10;
?>

<a href="1.php">qwerty</a>
1.php:

PHP:
<?
  echo $GLOBALS['var'];
?>
после клика по ссылке :

>Notice: Undefined index: var in g:\usr\web\test_global\1.php on line 2

что неправильно ? как исправить ?
Всем спасибо
 

Demiurg

Guest
в том, что глобальный переменные растрастранаяются только внутри одного запроса. Тебе нужны сессии.
 

Yurik

/dev/null
все правильно. смысл
global $var
не в том что они передаются между файлами, а в дао ООП.

Почитай ман о сессиях и куках, это то что тебе нужно.
 

StUV

Rotaredom
проблема в другом :
в индекс.пхп в начале:

$inc_path = "srfgasgffg";
ini_set("include_path",$inc_path);

при переходе к другому скрипту ini_set умирает....
надо выставить инк_пас по новой
кроме того чтобы в явном виде вставлять $inc_path во все скрипты есть какое-либо иное решение ?
(все это на серваке, поэтому сессии и куки не причем - точнее ИМХО)
Спасибо
 

Demiurg

Guest
1. можно прописать в php.ini или .htaccess
2. ты можешь сразу формулировать задачу четко и всю ?
3. как ты думаешь, где хранятся сессии ?
 

RomikChef

Guest
господи.
ЕСТЕСТВЕННО, ini_set служит для РАЗОВОЙ подмены значений, в одном скрипте!

для выставления директив РНР служит php.ini и php_value в httpd.conf и .htaccess

для задания определенных переменных для сех скриптов служит инклюд файл, который инклюдится во ВСЕ скрипты.

про "$GLOBALS['var'] от скрипта к скрипту... " - БЕГОМ читать [f]na_tanke[/f]
 

StUV

Rotaredom
1. спасибо (как это сделать в .htaccess ?)
2. сорри - не понял сразу с какого боку смотреть на задачу...
3. на серваке :)...
 

RomikChef

Guest
вообще, include_path - это глупость.
не нужен он.

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

StUV

Rotaredom
?
не понимаю
а как делается на серваках с несколькими независимыми сайтами ? все .inc в одну кучу ?
 

RomikChef

Guest
что ты называешь "несколькими независимыми сайтами"?

у нескольких независимых сайтов свои inc файлы, которые инклюдятся ручками
 

StUV

Rotaredom
имеется ввиду - что я пишу на локалке - потом надо выкладывать на сервак, если у меня на серваке структура папок будет другая, то достаточно в одном месте путь править, чем переписывать все скрипты (еще и искать какие именно)

+ я могу просто "захотеть" изменить структуру сайта

+ честно - ну не знаю я как устроено _все_ на продвинутых хостингах, с большим числом проектов "абсолютно" независимых... - в таком случае как решается проблема с пхп.ини-переменными - одному так надо, другому иначе...

или админ делает "для всех одинаково" и мучайтесь как сможете ?
 

RomikChef

Guest
на продвинутых хостингах есть
DOCUMENT_ROOT

у тебя в руках есть phpinfo()!

Какая разница - какая структура сайта?
тебе наджо проинклюдить в каждый скрипт ОДИН инклюд файл.
в котором ты можешь указывать все, что угодно.

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

сам я использую либо DOCUMENT_ROOT, либо - в последнее время всегда - php_value auto_prepend_file в котором и описываю все нужные переменные пути и тому подобное.
и все. во всех файлах проекта у меня автоматом есть база, все пути ,емейлы настройки и так далее.
в том числе и путь к инклюдам.
 

Кром

Новичок
выкладывать на сервак, меняя структуру папок, не лучшая идея.
Если хочешь менять структуру файла, запиши все пути в один конфигурационный файл там все и меняй. А файл подключай инклюдом.
В чем мучаться, не понятно.
 

StUV

Rotaredom
2Кром:
так и делаю
файл подключай инклюдом
так как ini_set умирает - то в каждый скрипт надо прописывать <путь_к_папке_с_инклудами> - с этого топик и начался...

2Ромик:
спасибо, полез в ман - попытаюсь разобраться с твоим подходом...
 

StUV

Rotaredom
2Romik:

The file is included as if it was called with the include() function, so include_path is used.
((c) man)

- то есть все равно надо include_path определять ?
 

RomikChef

Guest
нет, не надо.
юзед - это значит, что будет искать, если по указанному пути не найдет.
 

zag

Guest
Ребята, тема то совсем другая, парню надо СУПЕРГЛОБАЛЬНУЮ переменную, видимую из любого запроса на сервере... При всем этом, переменная должна создаваться в запросе, а не в php.ini

Я тоже столкнулся с такой проблемой, пришлось делать через файл, в котором хранится значение этой переменной. Файл приходится переписывать при каждом изменении этой переменной и каждый раз подключать при запросе. Получилось довольно геморно..
 

StUV

Rotaredom
2zag:
:)
в принципе, вариант с .htaccess прокатил...
(auto_prepend_file или include_path)
 

zag

Guest
Хех, но все же. Может есть какой способ создать и испоьзовать переменную видимую из любого скрипта с возможностью изменять ее ?
 
Сверху