Использование $ _SERVER ['QUERY_STRING'] для передачи переменных

У меня проблема. Пользователь вводит в форму две даты. Когда пользователь нажимает кнопку «Отправить», дата передается на другую открытую страницу (1) и выполняет какие-то действия для запроса БД.

Могу ли я передать переменные еще в один файл PHP? Чтобы создать там файл JSON. Мне нужно создать этот JSON сразу после того, как пользователь отправит запрос, а затем перенаправит его на страницу (1).

Я использую (метод GET) это для перенаправления и передачи двух дат:

    header("location:gentable_chart.php?" . $_SERVER['QUERY_STRING']);
    exit();

Мне нужно передать переменные еще раз, чтобы создать JSON перед перенаправлением. есть идеи как это сделать?

Вы можете использовать сессии.

IcedAnt 14.03.2018 12:22

Я использую сеансы. Но мне нужно дважды перейти к файлам. Один в файл php, который не нужно видеть в клиентском браузере. И один после перенаправления на страницу

Hristian Yordanov 14.03.2018 12:31

Вы не «передаете» переменные сеанса, вы просто session_start() и устанавливаете переменную на одной странице, затем на других страницах вы снова session_start() и получаете доступ к переменной. Прочтите ссылку выше.

IcedAnt 14.03.2018 12:47

Я использую session_start () на двух страницах. Но на второй странице есть JS, который вызывает файл php, который создает JSON. В этом файле я добавляю session_start (), но переменные там не сохраняются ...

Hristian Yordanov 14.03.2018 13:12

Могу ли я передать эти две переменные в скрипт php и запустить его без необходимости перенаправлять меня на страницу? Мне нужно просто сгенерировать json

Hristian Yordanov 14.03.2018 13:23

Не могли бы вы дать больше контекста? Вы можете использовать вызовы AJAX, выполнять перенаправления, использовать include_once, file_get_contents - или сделать свое приложение модульным, чтобы вам не приходилось «вызывать другие файлы».

Nico Haase 14.03.2018 13:47

Мне нужно сначала сгенерировать json, созданный этими двумя датами. И перенаправьте меня на другую страницу. Я не знаю другого подхода

Hristian Yordanov 14.03.2018 13:53
Стоит ли изучать 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 и хотите разрабатывать...
1
7
85
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда вы говорите «JS, который вызывает файл PHP», я предполагаю, что вы имеете в виду AJAX. В этом случае просто передайте переменные сеанса как данные:

$.ajax(
{
    url: 'yourphpfile.php',
    data: 
    {
        var1 : '<?php echo $_SESSION['var1']; ?>',
        var2 : '<?php echo $_SESSION['var2']; ?>'
    },
    type: 'GET',
    success: function(result)
    {   
        // Code
    }
})

Затем на yourphpfile.php вы можете поймать такие переменные:

$var1 = $_GET['var1'];
$var2 = $_GET['var2'];

Спасибо, что нашли время, чтобы помочь мне. Я запуталась. Я не очень хорошо знаю английский. Я следовал одному руководству: dyclassroom.com/chartjs/…. В моем sql у меня есть: SELECT to_char (TIMESTAMP, 'DD / MM / YYYY HH24: MI: SS'), blok9osx, blok9osy, blok11osx, blok11osy, filblok10‌, filblok11 FROM otv_fil WHERE TIMESTAMP BETWEEN 'И $ от $ to_date 23:59:59 'LIMIT $ max_results OFFSET $ от. Это переменные, которые мне нужно заполнить при вызове php из js

Hristian Yordanov 14.03.2018 13:46

Как вставить эти переменные сеанса в yourphpfile.php

Hristian Yordanov 14.03.2018 13:49

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