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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> include и глобальная переменная : help 
:(
    Опции темы
Didia_Sc
Дата 30.11.2004, 13:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Прива!

Вот такая ситуация:

1. index.php
--------------------
global $a;
$a="слово";
include("print.php");

2. print.php
--------------------------
<?php
....
HTML код
....
print $a;
....
HTML код
....
?>

в результате выполнения index.php все HTML тэги выводятся, а вот значение переменной $a не выводится. Подскажите в чем проблема.
  Вверх
Opik
Дата 30.11.2004, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Цитата
global $a;

делать не надо, если это не внутри функции =)
PM MAIL Skype   Вверх
Guest
Дата 30.11.2004, 13:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Opr @ 30.11.2004, 13:12)
Цитата
global $a;

делать не надо, если это не внутри функции =)

у меня как раз include из функции выполняется ...
  Вверх
penizillin
Дата 30.11.2004, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 8
Всего: 9



покажите код функции и ее вызова.
PM MAIL ICQ   Вверх
Opik
Дата 30.11.2004, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Дык, переменую ты ж все равно внутрях функции определяешь? )
PM MAIL Skype   Вверх
penizillin
Дата 30.11.2004, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 8
Всего: 9



на то и global, чтоб везде видна была.
PM MAIL ICQ   Вверх
Master
Дата 30.11.2004, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



намного дешевле в целях правильного (корректного) кода вообче не рекомендуется использовать глобал, а просто отправить переменную в функцию при вызове.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Opik
Дата 30.11.2004, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Master
не всегда приемлимо, иногда просто глупо.
PM MAIL Skype   Вверх
Vaulter
Дата 1.12.2004, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 6
Всего: 22



попробуй так:
Код

2. print.php
--------------------------
<?php
....
HTML код
....
global $a;
print $a;
....
HTML код
....
?>



--------------------
PM MAIL WWW ICQ   Вверх
korob2001
Дата 26.5.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Привет!
Сейчас решил попробовать написать один, не большой, сайт на PHP. Всё вроде нормально, но столкнулся с аналогичной проблемой, с глобальными переменными.

Есть файл PHP такого вида:
Код

<?php
    $language = "";
    // Пордгружаем верхнюю часть страницы
    include_once "tmpl/top.inc";
    if (isset($lang) && ($lang == "fr")) {
        // Если передан параметр lang=fr, подгружаем французскую версию
        include_once "tmpl/fr/about.inc";
        $language = "fr";
    } else {
        // В противном случае подгружаем нидерландскую версию
        include_once "tmpl/nl/about.inc";
       $language = "nl";
    }
    // Подгружаем нижнюю часть страницы
    include_once "tmpl/bot.inc";
?>

Но так как в файлах обоих версий есть навигационное меню, да и просто ссылки, мне нужно привязать к ним этот параметр lang=(nl/fr), пробую сделать следующее:
Код

<?php
echo <<<HTML
<a href="home.php?lang=$language">Home</a><br/>
<a href="photos.php?lang=$language">Photos</a><br/>
// ........
<a href="about.php?lang=$language">About as</a><br/>
HTML
?>

Но переменная $language остаётся пустой, т.е. на выходе я получаю такую ссылку http://host.com/home.php?lang=

Насколько я понял проблема в том, что переменная $language объявлена в файле about.php, а я пытаюсь получить её значение, в файле tmpl/bot.inc, т.е. что-то не допонял по поводу глобальных переменных.
Подскажите, как её правильно объявить, что бы она была видна везде и в подключаемых файлах тоже? 


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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