Как передать переменную из одной функции в другую?

Тема в разделе "PHP", создана пользователем Panzers^), 26 мар 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Panzers^)

    Panzers^) Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    Например есть функция:
    PHP:
    function raz() {
    $a "abc";
    }
    Как передать переменную в функции raz(); в другую?
    Чего то сообразить не могу =\
     
  2. lexeralfer

    lexeralfer Создатель

    Регистр.:
    2 дек 2007
    Сообщения:
    13
    Симпатии:
    0
    ну попробуй global определить
     
  3. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    глобальные переменные, сессия, return, вызов внутри функции.
     
  4. waldicom

    waldicom Создатель

    Регистр.:
    15 мар 2009
    Сообщения:
    41
    Симпатии:
    3
    В дополнение к вышестоящим вариантам: с помощью адресного оператора.
     
  5. pavel012007

    pavel012007

    Регистр.:
    12 мар 2008
    Сообщения:
    210
    Симпатии:
    117
    если функции находятся в отдельных файлах, через GET-параметр
     
  6. Panzers^)

    Panzers^) Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    Через global пустая страница =( Через сессию не хочу. А через return тоже что то не получается.
    Две функции в одном файле.
     
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Извини, но телепаты вымерли.
    У тебя суперсекретный код?
     
  8. Panzers^)

    Panzers^) Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    Да тут самый простой он)

    Вот:
    PHP:
    function index() {
    global 
    $main_admin_tpl$last_tpl$last_dj$last_ex_dj;
    $menu "<a href='adm.php?page=add'>Добавить</a> | <a href='adm.php?page=edit'>Редактировать</a> | <a href='adm.php?page=delete'>Удалить</a> | <a href='adm.php?page=config'>Настройки</a>";
    $last_tpl->replace("{last_dj}"$last_dj);
    $last_tpl->replace("{last_exdj}"$last_ex_dj);

    $content $last_tpl->content();

    $main_admin_tpl->replace("{menu}"$menu);
    $main_admin_tpl->replace("{content}"$content);
    echo 
    $main_admin_tpl->content();
    }

    function 
    add() {
    global 
    $main_admin_tpl$menu;

    $select '
    <form action="adm.php?page=add" method="post" name="forma">
    Выберете категорию, в которую хотите добавить:<br>
    <select name="cat" size="1">
    <option value="0" selected>Действующие</option>
    <option value="1">Ex-DJ</option>
    </select>
    <br /><br /><input type="submit" value="Дальше ->"/>
    </form>
    '
    ;

    $main_admin_tpl->replace("{menu}"$menu);
    $main_admin_tpl->replace("{content}"$select);

    echo 
    $main_admin_tpl->content();
    }
    И вот тут как раз таки переменная $menu не передается в функцию add()..
     
  9. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Как всё запущенно ;)
    А так?
    PHP:
    $menu '';
    function 
    index() {
    global 
    $menu$main_admin_tpl$last_tpl$last_dj$last_ex_dj;
    $menu "<a href='adm.php?page=add'>Добавить</a> | <a href='adm.php?page=edit'>Редактировать</a> | <a href='adm.php?page=delete'>Удалить</a> | <a href='adm.php?page=config'>Настройки</a>";
    $last_tpl->replace("{last_dj}"$last_dj);
    $last_tpl->replace("{last_exdj}"$last_ex_dj);

    $content $last_tpl->content();

    $main_admin_tpl->replace("{menu}"$menu);
    $main_admin_tpl->replace("{content}"$content);
    echo 
    $main_admin_tpl->content();
    }

    function 
    add() {
    global 
    $main_admin_tpl$menu;

    $select '
    <form action="adm.php?page=add" method="post" name="forma">
    Выберете категорию, в которую хотите добавить:<br>
    <select name="cat" size="1">
    <option value="0" selected>Действующие</option>
    <option value="1">Ex-DJ</option>
    </select>
    <br /><br /><input type="submit" value="Дальше ->"/>
    </form>
    '
    ;

    $main_admin_tpl->replace("{menu}"$menu);
    $main_admin_tpl->replace("{content}"$select);

    echo 
    $main_admin_tpl->content();
    }
     
    Panzers^) нравится это.
  10. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    вам надо, чтобы переменная $menu, определенная в index() была также видна в add() ?
    добавьте в начало обоих функций global $menu
    PS не успел, пока читал топик
     
    Panzers^) нравится это.
Статус темы:
Закрыта.