У меня проблемы с переменными сеанса PHP: я пытаюсь установить переменные, и они не могут быть прочитаны даже в одном и том же файле, а тем более в другом файле.
Извините, если вопрос был заданраньше, но я не могу найти ничего, что не говорит "убедитесь, что у вас есть session_start()
в начале файла."
Строки 1, 2 и 3 файла:
<?php
ini_set('session.save_path','/home/[username]/session_data'); // Just in case, points to a correct directory
session_start();
Позже, после проверки имени пользователя и входа в систему, переменные устанавливаются, и код пытается echo
их вывести:
$_SESSION['login'] == "true";
$_SESSION['username'] == $username;
$_SESSION['password'] == sha1($password);
//header("Location: [admin page hidden]"); // Code would normally redirect to admin page (commented out for debugging), and exit
//exit;
echo "Username: ".$username."<br />"; // The following 4 lines try to print out the data
echo "Password: ".$password."<br />";
echo "Secure Password: ".sha1($password)."<br />";
echo "Session Username: ".$_SESSION['username']."<br />";
Вывод:
Username: root
Password: [correct password]
Secure Password: [correct sha1 version of password]
Session Username:
Безопасный пароль (sha1
, что проверено) соответствует тому, что находится в файле базы данных, я проверял.Ничего не получается для переменных сеанса, даже если он был создан 7 строками ранее.В каталоге, на который я указал путь сохранения, есть только пустой файл для сеанса.
Кто-нибудь знает, почему это не работает, или совет, как поступить?Любой полезный ответ приветствуется.