Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490

Передача значения переменной из сессии

26.07.2018, 22:10. Показов 1494. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вопрос, на самом деле, сильно пересекается с JS
в страницу подключается файлик
HTML5
1
<script src="assets/js/main.js"></script>
в этом файлике есть такой код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
jQuery(document).ready(function($) {
    $('#menuToggle').on('click', function(event) {
        $('body').toggleClass('open');
        jQuery.ajax({
            url: 'scripts/SwitchLeftPanel.php',
            method: 'post',
            data: {
                "UserID":1
            }
        });
    });
});
и мне надо в UserID передать значение, которое хранится в переменной
PHP
1
$_SESSION['User']['UserID']
Как?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2018, 22:10
Ответы с готовыми решениями:

Передача переменной id пользователя внутри одной сессии
Народ, подскажите. У меня есть задача сделать игру между двумя пользователями. Они работают с одной сессией, первый создает, второму...

Передача значения переменной
Всем привет. Такой вот вопрос:как передать значения переменной из одного php файла в другой php файл?

Передача значения переменной
Можно ли как-нибудь в одном файле задать значение переменной через форму и передать её в php в этом же файле? Или не в этом же,но без...

16
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
26.07.2018, 23:37
PHP
1
"UserID":<?=$_SESSION['User']['UserID'];?>
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
26.07.2018, 23:40  [ТС]
неа.. смотри какой файл и как подключается
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
27.07.2018, 00:24
Сейчас проверю.

Добавлено через 38 минут
PHP/HTML
1
2
<input id="user" type="hidden" value="<?=$_SESSION['User']['UserID'];?>">
<script src="main.js"></script>
JavaScript
1
"UserID":getElementById('user').value
Вот так придумал. Работает.
1
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
27.07.2018, 00:32
Laroux, какая разница, какой файл? Все отличие в том, какой заголовок типа содержимого вы укажете. У JS-скриптов - application/javascript или text/plain (text/javascript считается устаревшим).

Заголовки, связанные с кешированием, тоже не забудьте проконтролировать, а то иногда бывают сюрпризы от веб-сервера.

Если нужно как-то передать значение в статичный клиентский код, то это уже не PHP.
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
27.07.2018, 01:01
Лучший ответ Сообщение было отмечено Para bellum как решение

Решение

Цитата Сообщение от Laroux Посмотреть сообщение
и мне надо в UserID передать значение, которое хранится в переменной
Нашел лучший вариант. Зачем тебе его передавать через ajax, если ты его можешь получить из сессии в скрипте "scripts/SwitchLeftPanel.php", а ajax`ом вернуть нужные данные.
1
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
27.07.2018, 09:10  [ТС]
Цитата Сообщение от Torovich Посмотреть сообщение
получить из сессии в скрипте "scripts/SwitchLeftPanel.php"
Мне кажется, что из яакса сессия не пробрасывается в исполняемый скрипт.
Сейчас проверю, но, помнится, я на эти грабли уже наступал как-то
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
27.07.2018, 09:38
Цитата Сообщение от Laroux Посмотреть сообщение
Мне кажется, что из яакса сессия не пробрасывается в исполняемый скрипт.
Не пробрасывается. А тебе и не надо. Ты переменные, которые в сессии не передавай по ajax, в скрипте
PHP
1
2
3
4
session_start();
$user = $_SESSION['User']['UserID'];
// Тут обрабатываем, формируем ответ для ajax и...
echo 'в ajax';
Добавлено через 1 минуту
Запрос ajax можешь вообще с пустой data{} отправить.
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
27.07.2018, 09:42  [ТС]
блин, сорри.. я не понял нифига

итак: есть index.php
Есть main.js
есть SwitchLeftPanel.php

main.js подключается в index.php и инициирует обработку идентификатора пользователя в SwitchLeftPanel.php

Где что должно находится? Ваша конструкция со стартом сессии мне нужна как бы в SwitchLeftPanel.php, но она там не сработает
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
27.07.2018, 10:05
Не сработает, если в index.php сделаешь session_destory(); Не закрывай сессию, все сработает.
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
27.07.2018, 11:02  [ТС]
Действительно сессия, запущенная в SwitchLeftPanel.php, который вызвался AJAX-ом, сработала
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
27.07.2018, 11:20
Ну вот с неё значения и берем, а input c getElements можно удалить.
1
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
27.07.2018, 11:27  [ТС]
Да теперь то все понятно. Я просто был уверен, что сессия в скрипте, вызванном через AJAX, "не поднимется". Даже не попробовал.
А оно оказалось, что все работает.

Спасибо всем еще раз!
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
27.07.2018, 15:00
Laroux, а как по-другому? Вы думали, что авторизация при AJAX-запросах происходит тем способом, который вы показали в стартовом сообщении?

И не забывайте делать авторизационные проверки при обработке AJAX-запросов!
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
27.07.2018, 15:10  [ТС]
Цитата Сообщение от Phantom-84 Посмотреть сообщение
авторизационные проверки
Это что за звери? Проверять права пользователя?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
27.07.2018, 16:01
Да.
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
27.07.2018, 19:01
Цитата Сообщение от Torovich Посмотреть сообщение
// Тут обрабатываем, формируем ответ для ajax и...
Вот сюда проверка авторизации
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2018, 19:01
Помогаю со студенческими работами здесь

Передача значения переменной из формы
Здравствуйте. Простите за глупый вопрос, ответ на который в гугле найти не смог:

Передача значения переменной из php в с++
добрый день уважаемые форумчане хотел спросить а как передать значения переменной со тсранице в браузере в php в программу с++ qt? те у...

Передача значения переменной с другой страницы
у меня есть 2 страницы, при чем на одной я задаю значение переменной, как взять это значение на другой странице( эта переменная потом...

Передача значения переменной в <select><option>
Добрый день! Передо мной стоит задача: В сроку вводится значение N. После нажимается кнопка. При нажатии, создается элемент...

Передача значения переменной на другую страницу
Дана таблица с данными. В этой таблице к каждой записи прикреплена кнопка Изменить запись. Необходимо по нажатии этой кнопки передать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru