Как получить значения сессии с помощью JS - PullRequest
0 голосов
/ 01 марта 2019

Я хочу знать, вошел ли пользователь в систему или нет, а затем отобразить различные элементы навигации на основе имени пользователя (логин и пароль, а не имя пользователя).Тем не менее, я понятия не имею, как бороться с сессией.Если php и html разделены в двух документах, как я могу сохранить требуемые значения, используя сессию, в документе php, а затем получить их, используя javascript, в документе html?Или я должен использовать куки вместо этого?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Есть несколько подходов для этого.

1) Вы можете создать файл PHP, который отформатирует ваши данные $ _SESSION и все остальные данные, которые вы хотите, в виде строки JSON (функция json_encode в языке PHP).Затем используйте echo, чтобы вернуть его.Затем используйте запрос AJAX, чтобы получить этот файл из javascript или JQuery, и вы получите нужные данные.Это плохой подход для этой цели, с моей точки зрения, потому что после загрузки страницы вы отправляете еще один запрос на получение статических данных, который не изменится на странице, например, электронная почта или имя пользователя.

2) Лучшеподход: PHP - это гипертекст препроцессора.Вы можете создать файл php и написать в нем html-теги с выводом php (пример: <div><?=$_SESSION['email']?></div>).Ищите дополнительную информацию в Google ("PHP внутри HTML").

3) Гораздо лучше.В современном мире веб-программирования ошибочно использовать php внутри html, потому что вы должны думать не только о том, как заставить что-то работать, вы должны думать о том, как вы будете поддерживать это через 3, 6, 12 месяцев спустя.Если вы используете только php внутри html в большом проекте, то со временем вы понимаете, что ваш код трудно читать и выглядит некрасиво.Существуют плагины, которые могут сделать ваш взгляд более читабельным и понятным ( Twig, Blade, Volt и другие).Я рекомендую вам использовать один из них.

0 голосов
/ 01 марта 2019

Сессия на стороне сервера, вы не можете получить к ней доступ, используя javascript.Вы можете написать Http-обработчик (который будет использовать sessionid, если есть) и вернуть значение оттуда, используя AJAX

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...