У меня есть вопрос о сессиях PHP.Я использую сеанс, чтобы держать посетителя в системе. Я уже создал сайт с этим и отлично работает.Сейчас я делаю приложение для Facebook.
При входе в систему (проверка, зарегистрирован ли пользователь в базе данных), я регистрирую id
.После этого я использую:
if(session_is_registered("id"))
{
echo "Logged in";
}
Так что, если в браузере отображается «Вход в систему», я абсолютно уверен, что сессия зарегистрирована.Но когда я перехожу на следующую страницу (у которой есть session_start (); вверху страницы), сеанса больше нет.Но если я перехожу на страницу выхода из системы (с помощью session_destroy ();) и затем перехожу к входу в систему, сеанс регистрируется правильно.Также, если я закрою все окна браузера и затем войду в систему, она не будет правильно регистрироваться.
Я пытался уничтожить сеанс непосредственно перед регистрацией 'id', но это также не работает.
Полагаю, я сделал основную ошибку, поэтому кто-то здесь должен помочь мне, не теряя много времени.
Пожалуйста, помогите мне.Я потратил впустую дни на это.Заранее спасибо.
Дополнительный код:
Где зарегистрирована сессия:
$id_query = mysql_query ("
SELECT * FROM Tour11_deelnemers WHERE fb_id = '$user'");
while ($record = mysql_fetch_assoc ($id_query))
{
$id = $record['deelnemer_id'];
}
if($id > 0)
{
$speelid = $id;
session_register("speelid");
}
После этого проверить, зарегистрирована ли она:
if(session_is_registered("speelid"))
{
echo "Ingelogd";
}
session_is_registered () - это то же самое, что isset () для $ _SESSION.
Так что я не понимаю, пока session_is_registered () верна после регистрации, на следующей странице - ложьснова :( если я не войду сразу после перехода на страницу выхода из системы (session_destroy ();). Так что даже если я уничтожу сеанс непосредственно перед его перезапуском и повторной регистрацией, это не поможет.