Я отменяю приложение на PHP, где мне нужно использовать сеансы. Я разработал свое приложение с трехслойной архитектурой.PHP Session не обнаруживается после обновления
Я использую только одну страницу PHP и фиктивные формы для отправки пользовательских действий, и вся обработка выполняется через определенные сущности/функциональные классы.
Когда страница открыта, я проверяю переменные, если они раньше не открывались, я представляю форму входа.
Когда я получаю почту от этой формы я проверяю пользователя и если пользователь хорошо я начать сеанс
if(isset($_POST['login']))
{
if($_POST['login']=='login')
{
//valida user
$accoes=$du->login($_POST['username'],$_POST['password']);
if($accoes===false)
{
echo "<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">";
echo "alert('Erro no Login');";
echo "</SCRIPT>";
unset($accoes);
}
else
{
//utilizador valido
echo "<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">";
echo "alert('Utilizador válido');";
echo "</SCRIPT>";
session_start();
$user="teste";
$screen="logged";
$_SESSION['user']=$user;
}
}
}
Хотя, когда эта страница обновляется с помощью действия пользователя я не могу видеть сессию id или переменные сеанса.
Я пропустил что-то вроде session_commit или другой инструкции?
Должно ли session_start() появляться перед попыткой перебрать переменные сеанса?
Может быть, что-то не хватает в файле PHP.ini?
Когда я перезагружать первое, что я делаю, это проверка на переменные сессии
if(session_id() != '') {
$user=$_SESSION['user'];
}
Я знаю, что я должен знать, как решить эту проблему, но сезам теперь мой опыт работы с PHP был бросить Flex/Вспышка так управление сеансами не было действительно необходимо.
Спасибо за помощь
Вы вызвали session_start() сверху для каждой страницы? – 2013-03-25 16:36:59
* Если session_start() также появляется перед попыткой перебрать переменные сеанса? * Да – Tchoupi