Выходная переменная PHP не отображается

Я использую репозиторий входа в систему с открытым исходным кодом от Github ( https://github.com/panique/php-login-minimal) для создания системы входа в систему для моего веб-сайта. Процесс входа в систему кажется успешным, и новые регистрации пользователей заполняются в моей базе данных MySQL, но когда я пытаюсь отобразить переменные сеанса, такие как имя пользователя, он просто появляется пустым.

Вот пример кода, который не отображается:

<p>Hey, <?php echo $_SESSION['user_name']; ?>. You are logged in.</p>

и я также попробовал это:

<p>Hey, <?php echo("{$_SESSION['user_name']}"); ?>. You are logged in.</p>

но безрезультатно. Вы также можете увидеть, как эта проблема работает на живом сайте по адресу http://www.geneticgolf.com/views/logged_in.php.

Любая помощь в том, что я делаю неправильно, будет принята с благодарностью.

1 ответ

Решение

Убедитесь, что вверху той же страницы есть этот код:

<p>Hey, <?php echo $_SESSION['user_name']; ?>. You are logged in.</p>

что у вас есть (как первая инструкция):

<?php
    session_start();

Если у вас это правильно, попробуйте это:

<?php
    session_start();
    echo '<pre>'
    echo $_SESSION;
    echo '</pre>'
    die();

По крайней мере, это скажет вам, что находится в вашей переменной $_SESSION.

Этот пост может быть полезен для решения вашей проблемы:

PHP - Безопасные страницы только для членов с системой входа

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