Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос про include

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: изменение значения переменных одного скрипта другим
Denin
Отправлено: 06 Июля, 2009 - 18:35:01
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Надо динамически подменить значение переменной одного скрипта другим скриптом...
Вот код const.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $ar = array();
  3. $ar['1'] = '000';
  4. ?>

скрипт меняющий change.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require 'const.php';
  4. global $ar;
  5. $ar['1'] = '111';
  6. echo '='.$ar['1'].'=';
  7.  

основной скрипт main.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include 'const.php';
  4. global $ar;
  5. $ar['1'] = '333';
  6. echo 'u'.$ar['1'].'uu';
  7. $var = $_POST['var']
  8. include $var;/* здесь $var = 'change.php';*/
  9. echo 'w'.$ar['1'].'ww';        
  10. ?>

При выполнении получается : u333uu=111=w333ww
А НУЖНО ПОЛУЧИТЬ: u333uu=111=w111ww
Объединять скрипты не хочу... хочу чтобы динамически все было...
 
 Top
JustUserR
Отправлено: 06 Июля, 2009 - 19:21:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Если учитывать что include работает по принципу мгновенного подключение то код можно переписать применро так
Цитата:
$ar = array();
$ar['1'] = '000';
// Здесь начинается основной код
global $ar;
$ar['1'] = '333';
echo 'u'.$ar['1'].'uu';
$ar = array();
$ar['1'] = '000';
global $ar;
$ar['1'] = '111';
echo '='.$ar['1'].'=';
echo 'w'.$ar['1'].'ww';
Видно что есть две прорехи - вопервых файл const.php включается в код дважды (Надо использвоать include_once) а вовторых явно не то с областями видимости
А точно не знаю как в PHP но в Perlе аналогичная проблема могла бы возникнуть именно при неверном использовании областе видимости


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
WNeZRoS
Отправлено: 06 Июля, 2009 - 19:28:42
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




По полному коду JustUserR выходит правильный вариант
По коду Denin тоже

(Отредактировано автором: 06 Июля, 2009 - 19:33:12)

 
 Top
Denin
Отправлено: 06 Июля, 2009 - 19:28:49
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Да я уже по всякому пробовал... и include и include_once и require(require_once)
все одинаково...
 
 Top
WNeZRoS
Отправлено: 06 Июля, 2009 - 19:30:17
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




Denin пишет:
$var = $_POST['var']

где точно с запятой? если такой скрипт разместить на сайт, то он долго не протянет (когда про него узнают хакеры)

(Отредактировано автором: 06 Июля, 2009 - 19:30:40)

 
 Top
Denin
Отправлено: 06 Июля, 2009 - 19:50:15
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




WNeZRoS пишет:
По полному коду JustUserR выходит правильный вариант
По коду Denin тоже


Это как вылетел? У меня IIS прекрасно работает... правда криво(как я написал) по логике
должно быть так как у JustUserR
 
 Top
WNeZRoS
Отправлено: 06 Июля, 2009 - 20:07:59
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




Denin, всё правильно работает, я в первый раз криво скопировал..
если я в это время буду в сети, можешь посмотреть http://wnezros[dot]homeip[dot]net/php/main.php (там сразу $var с нужным значением)
 
 Top
Denin
Отправлено: 07 Июля, 2009 - 10:36:27
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Спасибо всем!!!!
Я сам во всем разобрался...
Кому интересно: фишка вся была в том что я делал include через "http://....",
а когда дал абсолютный путь на change.php то все заработало.
Если все эти скрипты лежат в одной папке или до этой папки можно добраться через
"../../" то все работает, а у меня скрипт change.php лежал в совсем другом месте(виртуальной папке).
 
 Top
JustUserR
Отправлено: 07 Июля, 2009 - 12:48:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Цитата:
Кому интересно: фишка вся была в том что я делал include через "http://....",
Разумеется что так не работало - ведь заместо исходного кода загружался результат вполнения Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Champion Супермодератор
Отправлено: 07 Июля, 2009 - 13:57:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Заметьте, что данный факт автор решил не упоминать при постановке вопроса. Будем надеяться, что впредь автор не будет упускать столь важные вещи.
(Добавление)
Автор, через http ты подключаешь не php файл, а приготовленный им html. Вот в чем разница.
Тема закрыта!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB