Sesje:
class Session { { foreach($data as $name => $value) { $_SESSION[$name] = $value; } return $_SESSION; } public function Exist($session_name) { } public function get($session_name) { return (self::Exist($session_name)) ? $_SESSION[$session_name] : false; } public function Destroy($session_name) { if(self::Exist($session_name)) { } } } ?>
Token:
<?php class Token { public function Generate() { return Session::get("_USER_TOKEN"); } public function Check($token_value) { if(Session::get("_USER_TOKEN") == $token_value) { Session::Destroy("_USER_TOKEN"); return true; } return false; } } ?>
Wywołanie tokena w formularzu:
Sprawdzanie go:
{ if(Token::Check($_POST['token'])) { ... } else { $e = "jakiś tam błąd"; } }
Generalnie po wejściu na stronę logowania i wywołaniu var_dump, nie pokazuje zarejestrowanej sesji _USER_TOKEN. Dopiero po odświeżeniu bądź po próbnie wysłania formularza. Niestety, nie działa. Wychodzi na to, że token zapisany w sesji jest inny niż ten zapisany w formularzu. Ktoś dostrzegł jakiś błąd? Pozdrawiam i liczę na pomoc.