![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Задать вопрос: У меня отдельный файл - functions.php. В index.php он включается через include ("functions.php"); Для всех переменных которые объявлены в index.php и использутся в functions.php вынужден писать $GLOBALS['var']. Данные переданные методом post также доступны только через $_POST['var']. Нельзя ли как-нибудь упростить, что-нибудь прописать, чтобы не добавлять к именам переменных $GLOBALS и $_POST ? |
|||
|
||||
| mishaSL |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
В любом случае нужно брать из массива _POST, потом обработать и далее работать уже с нужными переменными. к примеру:
Пример покажите пожалуйста.... Странно как-то... -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
||||||
|
|||||||
| =Женек= |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Пример? Ради бога - в index.php я открываю соединение с mysql, даю ему имя $connection.
Когда я обращаюсь к $connection в index.php - нет проблем:
Многие функции для удобства вынесены в файл functions.php. Если в этой функции есть вызов mysql, то приходится писать
|
||||
|
|||||
| Pokoinik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 17.3.2007 Где: /dev/null Репутация: 2 Всего: 3 |
=Женек=,
как вариант в начале функции писать global $connection; -------------------- ICQ: 490-993 Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!! Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают. Делай или не делай! Никаких попробую! Йода (Yoda), мастер-джедай |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
если вначале включаемого файла написать global $connection;
то далее в этом файле просто обращаетесь к переменной $connection))) Добавлено через 44 секунды ) одновременно |
|||
|
||||
| chiffa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
нууууу, а почему никто не предложил отключить регистр_глобалс в пхп.ини?
|
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Отключить?
Мож я чего не понимаю, но когда проблема появилась, я подумал что они у меня отключены и их как раз включить надо. Ан нет.
Если вначале (ставил после "<?php")- не получается. Если только ставить в начале каждой функции. Но это тоже нерационально. Еще предложения будут? |
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
=Женек=, Не используй global и масив глобальных переменных, это к Богу не ведет. Если у тебя что-то видно извне функции, а нужно чтобы появилось внутри функции, то для этих целей у функции параметры придуманы. Это раз.
Для извлечения данных передаваемых методом post служит массив $_POST и его использование не предполагает ничего страшного. Это два. Но если ты не знаешь для чего используются параметры функции, и как их использовать, то можешь попробовать поюзать массив $_SESSION, он как глобальный тоже сойдет -------------------- |
|||
|
||||
| Папараццы |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 475 Регистрация: 18.9.2006 Где: Баку Репутация: нет Всего: нет |
register_globals=On
Надо врубить чтобы он глобальные перменные регистрировал. И не каких проблем не будет -------------------- /*---------------------------------------------------------------------------------*/ |
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
Пожалуйста не давайте рекомендаций ухудшающих код кроме как в варианте стёба.
Пусть человек сразу учится писать красиво и правельно, а то потом такой код вам же править прийдется, прошу прощения а -------------------- |
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Папараццы, фтыкать в тему надо, я уже писал что проверял register_globals
Добавлено через 13 минут и 14 секунд
Конечно. Но в основном файле я могу просто обратиться - $var. А во включаемом - не могу (((. |
|||
|
||||
| Veve |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
Ну я думаю, что тоже можешь.... Просто насколько я понял, твой файл "functions.php" состоит из множества функций:
Поэтому, если ты хочешь использовать $var во включаемом файле внутри функций, то тебе нужно поступить, как сказал rMaveric. Если ты хочешь убедится, что ты можешь использовать $var во включаемом файле, то попробуй написать к примеру
в начале включаемого файла, только не внутри функции!! Это сообщение отредактировал(а) Veve - 11.10.2007, 13:41 |
||||||
|
|||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |