Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

Problem z czasem sesji w MVC

3.30K views#mvc #session #sessiontime
0

Cześć,

Utworzyłem stronę wg własnego framework MVC, zgodnie ze sztuką z książki Marcina, mam jednak problem z czasem sesji. Strona w php 7.4 i IIS10

w index.php mam:

session_set_cookie_params(3600);
session_start();

Po upływie godziny bez aktywności jak wchodzę np. na home/start to wyskakuje mi błąd

PHP Notice: Undefined index: user_data in ….

Natomiast w kontrolerze home dla start mam:

public function start(){
if(!isset($_SESSION['is_logged_in'])){
header('Location: '.ROOT_URL.'home');
}
$this->returnView('start');
}

tablica user_data sesji jest wykorzystywana na stronie start, ale skoro sesja się skończyła to powinna zadziałać funkcja isset dla $_SESSION[‘is_logged_in’] i przejść do home, gdzie home to jest strona logowania bez żadnych zmiennych sesji.

Nie mam pomysłu dlaczego nie działa sprawdzenie tej zmiennej. Jakieś pomysły?

Anonim Answered question 3 listopada 2020
Add a Comment
0

Hej Daniel,

samo wykonanie polecenia header nie spowoduje, że kod PHP przestanie się wykonywać i zostaniesz magicznie przeniesiony do nowej podstrony. Ta funkcja dodaje jedynie wpis do nagłówka zwracanej odpowiedzi przez serwer.

Obstawiam, że sprawdzenie wykonuje się poprawnie, a jedynie dalsza część kodu psuje Twoje zamiary.

To, co możesz zrobić, to wstawić metodę returnView w bloku else, wtedy widok zostanie zwrócony tylko wtedy, gdy zmienna faktycznie istnieje. Możesz też, zaraz po wywołaniu funkcji header, wstawić po prostu exit(); czyli zakończyć procesowanie dalszego kodu PHP. Wtedy rezultatem będzie pusta strona z nagłówkiem informującym o przekierowaniu na inną lokalizację.

Marcin Wesel Answered question 3 listopada 2020
Add a Comment
You are viewing 1 out of 2 answers, click here to view all answers.
Write your answer.
Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.