Сессии потеряны после отправки формы

Я кодирую форму с четырьмя шагами на PHP. Я отправляю каждый шаг методом POST.

Мои шаги выглядят как первые:

    if (trim($_GET['p']) == 1){
        $_SESSION['rate_step'] = $_GET['p'];
        $_SESSION['data_change'] = @$_POST['change'];

        if (@$_POST['change'] != ''){
            $_SESSION['rate_disabled'] = '';
        }

        if (@$_POST['new_rate'] != ''){
            $_SESSION['rate_disabled'] = '';
            if ($_SESSION['rate_lastinsertid'] != ''){
                $_SESSION['rate_lastinsertid'] = '';
            };
        }

        $extra_vis = 'display:none';
        $content = show_template('agent_rates_s1', array(   
                                                    'step' => $_SESSION['rate_step'],
                                                    'monat' => $monat,
                                                    'jahr' => $jahr,
                                                    'jahr_zukunft' => $jahrfut,
                                                    'zielland' => $zielland,
                                                    'herkunfstland' => $herkunfstland,
                                                    'service' => $_SESSION['rate_service'],
                                                    'month_service' => $_SESSION['rate_month'],
                                                    'year_service' => $_SESSION['rate_year'],
                                                    'origin_country' => $_SESSION['rate_origin_country'],
                                                    'destination_country' => $_SESSION['rate_destination_country'],
                                                    'city' => $_SESSION['rate_city'],
                                                    'street' => $_SESSION['rate_street'],
                                                    'postcode' => $_SESSION['rate_postcode'],
                                                    'floor' => $_SESSION['rate_floor'],
                                                    'disabled' => $_SESSION['rate_disabled'],
                                                    'extra_vis' => $extra_vis,

        ));
    }

Когда я нажимаю на другой элемент меню в навигации и возвращаюсь к своей форме или поля первого шага пусты. Каждая сессия пуста. Почему ?

Проблема в том, что я использую $ _GET ['p'] == 1 и так далее?

Чтобы было ясно, вы начали сеанс?

Carl Binalla 25.09.2018 11:04

@Swellar да, я очищаю сеансы с помощью session_start ();

phil 25.09.2018 11:07

Исходя из вашего отступа, предполагается ли, что первый оператор if должен быть закрыт в строке 4?

Peter Mellett 25.09.2018 11:07

@PeterMellett нет, потому что я закрываю оператор после моей переменной $ content, чтобы показать $ content.

phil 25.09.2018 11:09

Ясно, пожалуйста, не могли бы вы исправить свое форматирование, чтобы код был более понятным?

Peter Mellett 25.09.2018 11:12

вы проверяете $ _GET ['p'] и два других значения с помощью метода post, поэтому $ _POST становится пустым. Вы можете использовать GET или POST, или вы можете использовать $ _REQUEST для обработки обоих типов GET и POST, если вы не уверены в типе метода.

Sachin 25.09.2018 11:17

@Sachin, поэтому я использую POST, чтобы проверить, какая форма отправлена, и показать содержимое?

phil 25.09.2018 11:30

Хорошо, поэтому вам нужно проверить $ _POST ['p'] вместо $ _GET ['p'] или вы можете заменить $ _GET и $ _POST на $ _REQUEST.

Sachin 25.09.2018 11:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
8
43
0

Другие вопросы по теме