Как вы получаете и устанавливаете переменную сеанса? - PullRequest
1 голос
/ 14 марта 2012

Я хочу иметь возможность взять значение из ($_SESSION['username'])), которое я вызываю вверху страницы, и использовать его в качестве переменной, чтобы я мог использовать значение username в операторе SQL-запроса.

Я пробовал:

$user = $_SESSION['username'];

но когда я использую var_dump($user), это NULL. Я пытался привести его к strval, но он все еще пуст.

Как добавить username в переменную?

Вот код сеанса:

<?php

session_start();

if($_SESSION['first_name']&&($_SESSION['username']))

echo "Welcome ".$_SESSION['first_name']."<br><a href='logged_out.php'>log out</a>";

else
die("You must be logged in. Click <a href='login/login_page.php'>here</a> to log   
in.");

?>

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Также как Гарбит сказал. Вы не можете использовать $ _Session [''], пока не использовали session_start где-нибудь в документе. Я также рекомендую начинать каждую сессию в шапке. Почему вы можете спросить; это сводится к тому, что код в заголовке всегда запускается сначала, точно так же, как если бы вы связали документ JavaScript внизу страницы, тогда он загружался бы после всего остального. (Мы смешиваем сторону клиента и сторону сервера? Не совсем, они работают одинаково, просто сервер выводит код на стороне сервера, а веб-браузер анализирует код на стороне клиента)

0 голосов
/ 14 марта 2012

Убедитесь, что у вас есть session_start ();вверху вашего php-скрипта на каждой странице вы хотите использовать переменную сессии

<?php
session_start();
// store session data
$_SESSION['username'] = bob;
?>

<html>
<body>

<?php
//retrieve session data
$username_from_session = $_SESSION['username'];
?>

</body>
</html>
...