У меня есть две функций в моем процессе регистрации, когда я проверил, как пользователь я бег ValidateUser ведьму устанавливает данные сеансаPHP сессия не держит
function validateUser(){
session_regenerate_id(); //this is a security measure
$_SESSION['valid'] = 1;
messenger("you are now logged in");
messenger($_SESSION); // this prints out fine
}
function isLoggedIn(){
messenger($_SESSION); // this DOES NOT
if(isset($_SESSION['valid']) && $_SESSION['valid']) return true;
return false;
}
и вот как я называю их все его запустить с теми же страниц
session_start();
if(!isLoggedIn()){
messenger('you are not logged in');
if($page =="register"){
$content = $page.".tpl";
if($_POST && register_user()) $content = "login.tpl";
}else{
$content = "login.tpl";
if($_POST && log_in()){
if(isLoggedIn()) $content = $page.".tpl";
}
}
}else{
if(!$page) $page = "bot";
$content = $page.".tpl";
}
примечание: log_in() вызывает ValidateUser
поэтому, когда пользователи получает страницу входа в систему вводит его информацию, то он получает доступ, яй! , но затем, когда он переходит на любую другую страницу, он отправляется обратно на страницу входа и данные сеанса исчезли. я делаю что-то не так с моей сессией?
ок позвольте мне упростить
page1.php
<?php
session_start();
$_SESSION['foo'] = 'bar';
?>
page2.php
<?php
session_start();
echo $_SESSION['foo']; //will output bar
?>
но Foo не повторил
кажется проблемой сервера ... ..
Извините, на чем вопрос ...? – deceze
Странно, но я думаю, вы можете раскомментировать 'session_regenerate_id()' и повторите попытку. – Lake
@deceze появляется я забыл закончить набирать lol я отредактировал мой вопрос – mcgrailm