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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменная пропадает внутри другой функции, ничего не понимаю! 
:(
    Опции темы
Alx
Дата 18.1.2005, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


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

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



в файле conf.php содержится инфа о БД юзера. я подключаю его если он существует (если нет, то шлю пользователя на страничку установки), но переменные в теле другой функции пропадают!

Код

<?
if(file_exists("conf.php"))
{require "conf.php";
echo $sql_host; // --- возвращает
}
else
header('Location:install.php');

if (isset($_POST["sent"]))
mainfunc();
else
printform();
echo $sql_host; // --- возвращает

function mainfunc()
{echo $sql_host; // --- НЕ возвращает!

$dataRight = true;
if ($_POST["login"] == "" || $_POST["pass"] == "")
{echo "<center><b style='color:red;'>ОШИБКА!<br>Введите логин и пароль!</b></center>";
$dataRight = false;
}
if ($dataRight)
{define("DBName",$sql_db);
define("HostName",$sql_host);
define("UserName",$sql_user);
define("Password",$sql_pass);
if(@!mysql_connect(HostName,UserName,Password))
{echo "<b style='color:red;'>Ошибка соеденения с базой:</b><br><textarea readonly cols='66' rows='5'>".mysql_error()."</textarea><br>";
printform();
exit;
}
mysql_select_db(DBName);
$r=mysql_query("select * from flyvote_admin");
if(@mysql_num_rows($r))
{
}
else
{echo "<b style='color:red;'>Ошибка соеденения с базой:</b><br><textarea readonly cols='66' rows='5'>".mysql_error()."</textarea><br>";
printform();
}
}
}
function printform()
{echo $sql_host; // --- НЕ возвращает!

echo '
...';
}
?>


в чем дело???


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


Опытный
**


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

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



переменная не является глобальной.
PM MAIL ICQ   Вверх
S.A.P.
Дата 18.1.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 3
Всего: 71



Прежде чем юзать глобальную переменную, переопредели ее в функции пиши так
Код

function mainfunc()
{global $sql_host
. . . .

или можешь обратиться к ней на прямую
Код

$GLOBAL[sql_host]


Это сообщение отредактировал(а) Perchilla - 18.1.2005, 20:20
PM MAIL   Вверх
Mont
Дата 18.1.2005, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

global $sql_host;

так вернет


--------------------
"Если однажды Вдруг
Меня не окажется вовсе
в заповедной заветной тарелке
Твоего праведного сновидения
Знай - Неуловимые мстители настигли меня."
© Егор Летов
PM MAIL ICQ   Вверх
Alx
Дата 18.1.2005, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


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

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



хм... я уже выбрался через define (константами их сделал).
а в JavaScript, если переменная определяется не в теле функции, она автоматически является глобальой. собсно, глобальный так и определяются - как обычные, просто вне функции.
Добавлено @ 20:38
всем пасиб. smile


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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