Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое подключение файлов 
V
    Опции темы
xarakiry
Дата 30.10.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



Вот приведу код из своей функции..

Код

$id = (int)$_GET['menu'];
            $sql = "SELECT * FROM " . $this->menu_tbl . " WHERE id='" . $id . "' LIMIT 1"; // Выполним запрос на проверку был ли выбран модуль при создании пункта меню
            $query = mysql_query($sql);
            $result = mysql_fetch_array($query);
            if ($result['5'] !== null) {
                foreach ($mod_array as $key => $val) {
                    if ($result['5'] == $val) {
                        require "$key";
                    }
                }
            }


При подключении файла $key в нем есть недоступна ни одна переменная которая была определена и имеет значение в файле в котором выполняется данная функция...не поможете ? почему такое случается..
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
unicross
Дата 30.10.2008, 21:59 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



xarakiry, насколько я понимаю require подключает файл на этапе компиляции. А на этапе компиляции $key не определена...
В данном случае вместо require необходимо использовать include
PM MAIL WWW   Вверх
xarakiry
Дата 30.10.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



Да пробовал уже..не помогло.. ни инклуд..ни регуаир,...ничего не помогает...тот же файл подключаю просто так...все работает...
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
unicross
Дата 30.10.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Вставьте строку и покажите результат.
Код

print_r($mod_array);

после
Код

  if ($result['5'] !== null) {

Зачем апострофы в SQL-запросе? Вы ведь передаете число.
PM MAIL WWW   Вверх
xarakiry
Дата 30.10.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



Код

Array ( [modules/news/index.php] => 0 [modules/gallery/index.php] => 1 ) 


Это мой массив, я в нем храню модули...
А апострофы.. это просто по привычке..когда запрос пишу все в кавычки загоняю...
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
unicross
Дата 30.10.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Этот код у меня работает:
Код

<?php
$mod_array = array("modules/news/index.php" => 0, "modules/gallery/index.php" => 1);
foreach ($mod_array as $key => $val) {
   if ($val == 0) {
       include "$key";
   }
}
echo "Строка1" . $var1 . "<BR>";
echo "Строка2" . $var2 . "<BR>";
?>


Файл modules/gallery/index.php
Код

<?php
$var1 = "Строка в подключаемом файле";
?>


Файл modules/news/index.php
Код

<?php
$var2 = "Строка2 в подключаемом файле";
?>

Как ни странно работает и с include и с require.
PM MAIL WWW   Вверх
xarakiry
Дата 30.10.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



я ..смудрил.... функция то у меня в классе...надо было пометить ссылку как глобальную переменную global $conn_id; ...для использования в методе...
Спасибо большое за отклик unicross  smile 
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.