Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sesje, usuwanie cookies po zakończeniu trwania sesji.
Forum PHP.pl > Forum > Przedszkole
patryk9200
Cześć,
mam panel logowania oparty na sesjach.
Mam kod który tworzy ciasteczko sesyjne o ograniczonym czasie trwania.
Z niewiadomych przyczyn jak czas się skończy i sesja zostanie zniszczona to wyskakuje:
Warning: session_start() [function.session-start]: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in H:\serwerPHP\www\ogame\index.php on line 3
Co jest przyczyną??
Jak się tego pozbyć?
Dodatkowo zauważyłem, że nie usuwa po tym czasie cookie.
  1. <?php
  2. $now = time();// czas trwania sesji w sekundach
  3. $expiryTime = 1800;// nowa sesja - ustaw czas początkowy sesji
  4. if (!isset($_SESSION['last_trace']))
  5. {
  6.    $_SESSION['last_trace'] = $now;
  7. }// sesja wygasła
  8. elseif ((int)$_SESSION['last_trace'] + $expiryTime < $now)
  9. {
  10.    $sessionName = session_name();    $_SESSION = array();
  11.    if (isset($_COOKIE[$sessionName]))
  12.    {
  13.        setcookie($sessionName);
  14.    }
  15.    
  16. $_SESSION["status"]= 0;
  17.        $_SESSION["status"]= 0;
  18.        $haslo= 0;
  19.       $log = 0;
  20.       echo '<meta http-equiv="refresh" content="3; url=">';
  21.       setcookie($sessionName);
  22.       session_destroy( );
  23.        
  24.        echo "<center><font color='red' size='5'>sesja wygasła!</font>";
  25. }
  26. ?>

Chciałbym dodatkowo aby gdy korzystam z serwisu to czas cały czas się przedłużał i dopiero jak przestane to po 15 minutach usuwa sesję.

hmm... czy ktoś może mi zalecić na to jakieś rozwiązanie??
Pilsener
Prawdopodobnie jest to bug PHP - nadaj sesji jakąkolwiek nazwę (składającą się z dozwolonych znaków oczywiście) i problem powinien zniknąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.