Przed nadawaniem nazwy sesji wszystko działa.
Plik logowania:
session_name('sess_' . bin2hex(random_bytes(16)));
session_start();
// i do momentu logowania poprawnego wszystko działa
// tzn nie poprawne dane to są informacje, że nie można się tak logować...
// ale nie wykonuje się poprawnie skrypt:
header("Cache-Control: no-cache, must-revalidate");
echo '<meta http-equiv="refresh" content="1;URL=strona_dla_zalogowanych.php'>;
Plik z formularzem logowania:
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true) {
header("Cache-Control: no-cache, must-revalidate");
echo '<meta http-equiv="refresh" content="1;URL=strona_dla_zalogowanych.php'>;
}
Zdaje się, że nie powinienem w każdym pliku na nowo robić session_start() tylko w przypadku pierwszego jej ustanowienia prawda?
Nie zamierzam zarządzać wieloma sesjami ... ani wieloma użytkownikami w ramach jednego systemu.
Dlaczego więc po dodaniu: session_name('sess_' . bin2hex(random_bytes(16)));
przestaje działać logowanie?
Jeśli to usunę lub przeniosę pod session_start() w pliku logowania to będzie ok.
Co mi umyka?