За последние 24 часа нас посетили 16429 программистов и 1678 роботов. Сейчас ищут 906 программистов ...

Работа с глобальными переменными

Тема в разделе "PHP для новичков", создана пользователем IamПробник, 2 мар 2015.

  1. IamПробник

    IamПробник Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    22
    Симпатии:
    0
    Всем привет. Никак не могу толком разобраться с глобальными переменными.

    Допустим, есть 3 файла
    1.php
    Код (Text):
    1. <?php
    2.     global $test_error;
    3. ?>
    2.php
    Код (Text):
    1. <?php
    2.     require_once ('1.php');
    3.     global $test_error;
    4.  
    5.     $test_error='1';
    6.     header("Location: 3.php");
    7. ?>
    3.php
    Код (Text):
    1. <?php
    2.     global $test_error;
    3.     require_once ('1.php');
    4.  
    5.     echo $test_error;
    6. ?>
    Вот собственно вопрос, как при переходе из 2.php на 3.php в $test_error получить значение, которое присваивается в 2.php ?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    передать через гет/пост/куки/сессию. глобальная переменная она глобальна в рамках программы а не в рамках разных запросов к серверу. после того как ты делаешь локейшн 3пхп - твой первый запрос умирает и второй ничего не знает про то какие там у тебя глобальные значения были.
     
  3. IamПробник

    IamПробник Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    22
    Симпатии:
    0
    Вот в чем дело, ясно, спасибо.
    По поводу get, куки, сессии - всё ясно, а вот каким образом можно здесь Post метод использовать ?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    при переходе с одной страницы к другой используй форму с post вот так и передавай значение, но только зачем?
    Может книгу бы прочитал по PHP, вот ещё http://phpfaq.ru/na_tanke
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    я в своем ответе избыточно перечислил какими способами можно передать значение между двумя разными вызовами. естественно при наличии заголовка редиректа - мы не можем использовать пост. но это частное ограничение конкретной реализации. пост-редирект от одного обработчика к другому - возможен, если клиент соответствует спецификации http/1.1 и понимает статус 307.
     
  6. IamПробник

    IamПробник Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    22
    Симпатии:
    0
    Может стоит и на самом деле почитать )))

    Есть 2 файла.
    index.php - он собирает главную и второстепенные страницы ( и так же собирает форму авторизации на главной странице )
    Второй файл auth.php - на него отправляется методом post информация об авторизации из index.php.

    Из auth.php и происходит локейшн обратно на index.php.

    И в случаи ошибки при авторизации не знаю как её передать из auth.php обратно на index.php ( можно при помощи get, но не особо хочется городить километровые gat параметры в адресной строке )
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да ну забей, что ты
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    если проблема авторизации и авторизует файл ауф - покажи ошибку в файле ауф. зачем туда-сюда редиректы делать? откуда это желание у новичков все через жопу делать? у тебя уже есть адрес который связан со входом пользователя. и ошибка входа относится к этому адресу более чем к другому любому на сайте. не надо тебе никакого редиректа с показанием ошибок. показывай прям на странице ауф.
     
  9. IamПробник

    IamПробник Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    22
    Симпатии:
    0
    Так ... видимо говорим о разных вещах ...
    Тему можно закрывать, а за пост про запросы, Ganzal - спасибо
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    что за странная манера говорить "тему можно закрывать"? кто их закрывает и зачем?
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ты хочешь на странице ауф установить переменную и уведомить об этом индекс на который ты делаешь редирект. показывай ошибку на ауф и НЕ изобретай велосипед с бесполезным возвратом к индексу с переменной ошибки установленной из ауфа. это мы о разных вещах? или ты просто не понял?
     
  12. IamПробник

    IamПробник Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    22
    Симпатии:
    0
    Я хз ... может тут темы и не закрывают ...
    Я понял, о чем ты говоришь, но у меня немного другая конструкция ( может и не совсем удачная ). Как я писал выше, форма авторизации собирается в index.php и постом отправляет данные при помощи post на auth.php (в ауф находится только обработка формы авторизации )
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а на других форумах закрывают? я просто пытаюсь понять зачем. Раньше ни у кого не спрашивал.