Редактировать: Когда я присваиваю буквальное строковое значение переменной Session — нет проблем. Когда я присваиваю значение строковой переменной переменной Session, она работает на странице, но в ней присутствует странный текст (всегда один и тот же странный текст), когда я покидаю страницу.
Все страницы начинаются с session_start();
на линии 2 сразу после <?php
Я проверил, что они запускают один и тот же идентификатор сеанса, и все страницы находятся в одном домене.
Вот пример того, что работает, то есть значение хранится в переменной Session и доступно со всех страниц:
$_SESSION['variablename'] = "Elmo!";
Вот пример того, что не работает на разных страницах — переменная Session работает на странице, но значение отсутствует при доступе к ней с других страниц:
if(isset($_GET['variablename'])){
$variablename = $_GET['variablename'];
echo $variablename; // The value is "Elmo!"
$_SESSION['variablename'] = $variablename;
echo $_SESSION['variablename']; // The value is "Elmo!"
}else{
// Do other stuff
}
Изменить 1:
Я получаю доступ к переменной Session двумя способами:
1) Простое присвоение переменной:
$variable2 = $_SESSION['variablename'];
2) Встроенный в HTML:
<span>My favorite children's character is <?php echo $_SESSION['variablename']; ?></span>
Я также проверяю значения переменных Session в верхней части страницы следующим образом:
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
Я проверил это на простой странице без каких-либо включений.
Текст в переменной сеанса на других страницах — это частичная строка текста из файла CSS, в который я импортирую шрифт.
Я надеюсь, у вас есть идеи. Все приветствуются. Спасибо.
Задача ещё не решена.
Других решений пока нет …