Получение параметров командной строки с прошлого візова скрипта

Тема в разделе "PHP", создана пользователем Artu, 2 апр 2009.

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

    Artu Постоялец

    Регистр.:
    3 мар 2009
    Сообщения:
    75
    Симпатии:
    3
    Т.е. что то-типа $_REQUEST['x'] или хотя бы $_SERVER[QUERY_STRING] с прошлого вызова скрипта.
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Никак, если предварительно их не сохранять.
     
  3. Ton

    Ton Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    55
    Симпатии:
    9
    $argv описание здесь http://ua.php.net/manual/ru/reserved.variables.argv.php

    PHP:
    session_start(); // Старт сессии для инициализации массива $_SESSION

    print_r($_SESSION['previousArgv']); //  Получение параметров командной строки с прошлого вызова скрипта

    $_SESSION['previousArgv'] = $argv// Получение и сохранении текущих параметров командной строки

     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Ton ты когда-нибудь работал с командной строкой?
    Нет там понятия сессии. И твой код ничего сохранять не будет.

    CLI - это тебе не тоже самое что работа с web-скриптами.
     
  5. Ton

    Ton Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    55
    Симпатии:
    9
    Извиняюсь ошибся чуток

    PHP:
    session_id('1'); // Устанавливаем произвольный ID сессии
    session_start(); // Старт сессии для инициализации массива $_SESSION

    print_r($_SESSION['previousArgv']); //  Получение параметров командной строки с прошлого вызова скрипта

    $_SESSION['previousArgv'] = $argv// Получение и сохранении текущих параметров командной строки  
    И переменная session.save_path в php.ini должна иметь полный путь, актуально для Windows систем.
     
  6. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Не знаю, как в винде, но в линуксе такой код не работает, сам с таким спотыкался.
    ИМХО, проще писать в файл и из него читать и не заморачиваться.

    Добавлено через 35 минут
    Поковырявшись в своём коде, обнаружил, что работает вот так
    PHP:
    <?php

    ini_set
    ('session.save_path'dirname(__FILE__));
    session_id(md5(1));
    session_start();
     
  7. Artu

    Artu Постоялец

    Регистр.:
    3 мар 2009
    Сообщения:
    75
    Симпатии:
    3
    Задача в том что бы передать в текстовой ссылке (можно использовать форму?) параметр,который изменит переменную,но при этом командная строка не потеряется.В командной строке хранится текущее состояние навигации по сайту.
     
  8. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Дружбан, какая командная строка и навигация сайта?
    Ты ничего не перепутал? Может адресная строка?
     
  9. Ton

    Ton Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    55
    Симпатии:
    9
    $_SERVER['HTTP_REFERER'] - Адрес страницы (если такой имеется), в котором говорится о том где браузер побывал до текущей страницы. Это задается браузером. Не все браузеры предоставляют эту информацию, а некоторые предоставляют возможность изменить HTTP_REFERER как функцию. Короче говоря, нельзя ему полностью доверять.
    При стандартных настройках IE и Firefox работают нормально.

    Или насколько я понял ты используешь форму для отправки то тогда можно сохранить текущее положение ($_SERVER['REQUEST_URI']) в HIDDEN поле.
     
  10. Artu

    Artu Постоялец

    Регистр.:
    3 мар 2009
    Сообщения:
    75
    Симпатии:
    3
    Да,адресная.Хотя Дмитрий Котеров в книге пишет командная.
    У меня текстовая ссылка.Ее можно превратить в форму,твк что бы так внешне не изменилась?
    Жаль что $_SERVER['HTTP_REFERER'] не надежен.Хотя его уже использую.
     
Статус темы:
Закрыта.