Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obsługa sesji w MySQL
koreja
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 22
Dołączył: 15.07.2008
Skąd: Raniżów/Rzeszów

Ostrzeżenie: (0%)
-----


Mam taki sobie skrypcik obsługi sesji:
  1. <?php
  2. require_once('config.inc.php');
  3.  
  4. $name = session_name($_SESSION['user'].'sess');
  5. $id = session_id();
  6.  
  7. //otwieranie sesji    
  8. function session_open()
  9.        {
  10.        return true;
  11.        }
  12.  
  13. //zamykanie sesji
  14. function session_close()
  15.        {
  16.        return true;
  17.        }
  18.  
  19. //odczytywanie sesji
  20. function session_read($id)
  21.        {
  22.        $query = "SELECT * FROM sesje WHERE id='".$id."'";
  23.        $results = mysql_query($query) or die(mysql_error());
  24.        if(mysql_num_rows($results) == 1)
  25.            {
  26.            $field = mysql_fetch_array($results);
  27.            return $field['data'];
  28.            }    
  29.        else
  30.            {
  31.            $query = "INSERT INTO sesje (id) values ('".$id."')";
  32.            $results = mysql_query($query) or die(mysql_error());    
  33.            return true;
  34.            }
  35.        }  
  36.  
  37. //zapis sesji
  38. function session_write($id, $data)
  39.        {
  40.        $query = "SELECT * FROM sesje WHERE id='".$id."'";
  41.        $results = mysql_query($query) or die(mysql_error());
  42.        while($line = mysql_fetch_array($results))        
  43.            {
  44.            $dane = $line['data'];
  45.            }
  46.        if($dane != $data)
  47.            {
  48.            $rdata = $dane . $data;
  49.            $query = "UPDATE sesje SET data='".$rdata."' WHERE id='".$id."'";
  50.            $results = mysql_query($query) or die(mysql_error());        
  51.            }
  52.        }
  53.  
  54. //usuwanie sesji
  55. function session_remove($id)
  56.        {
  57.        $query = "DELETE FROM sesje WHERE id='".$id."'";
  58.        $results = mysql_query($query) or die(mysql_error());        
  59.        return true;      
  60.        }
  61.  
  62. //automatyczne usuwanie starych sesji
  63. function session_gc($life)
  64.        {
  65.        $query = "DELETE FROM sesje WHERE time < '" . date("YmdHis", time() - $life) . "'";
  66.        $results = mysql_query($query) or die(mysql_error());          
  67.        return true;          
  68.        }
  69.  
  70. session_set_save_handler("session_open", "session_close", "session_read", "session_write", "session_remove", "session_gc");
  71.  
  72.        
  73. ?>


Jednak nie spełnia on swojej roli (nie zapisuje danych sesji do mysql. W czym może być problem?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 18:42