database-sessie-handler

Gesponsorde koppelingen

PHP script bestanden

  1. database-sessie-handler

« Lees de omschrijving en reacties

Oops, vergat de mysql data :P:P

MYSQL DATA:

CREATE TABLE sessions
(
id varchar(32) NOT NULL
access int(10) unsigned,
data blob,
PRIMARY KEY (id)
);

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
//Benoem dit bestand session_start.php, nu in plaats van session_start() te gebruiken.
//Gebruik je dit bestand dus:
//require_once 'session_start.php';
//Het zal dus meteen werken.

session_set_save_handler('_open',
                         '_close',
                         '_read',
                         '_write',
                         '_destroy',
                         '_clean');

function
_open()
{

    global $_sess_db;

    $db_user = $_SERVER['DB_USER'];
    $db_pass = $_SERVER['DB_PASS'];
    $db_host = 'host';
    $db_sel = 'database';
    
    if ($_sess_db = mysql_connect($db_host, $db_user, $db_pass))
    {

        return mysql_select_db($db_sel, $_sess_db);
    }

    
    return FALSE;
}

function
_close()
{

    global $_sess_db;
    
    return mysql_close($_sess_db);
}

function
_read($id)
{

    global $_sess_db;

    $id = mysql_real_escape_string($id);

    $sql = "SELECT data
            FROM   sessions
            WHERE  id = '$id'"
;

    if ($result = mysql_query($sql, $_sess_db))
    {

        if (mysql_num_rows($result))
        {

            $record = mysql_fetch_assoc($result);

            return $record['data'];
        }
    }


    return '';
}

function
_write($id, $data)
{
  
    global $_sess_db;

    $access = time();

    $id = mysql_real_escape_string($id);
    $access = mysql_real_escape_string($access);
    $data = mysql_real_escape_string($data);

    $sql = "REPLACE
            INTO    sessions
            VALUES  ('$id', '$access', '$data')"
;

    return mysql_query($sql, $_sess_db);
}

function
_destroy($id)
{

    global $_sess_db;
    
    $id = mysql_real_escape_string($id);

    $sql = "DELETE
            FROM   sessions
            WHERE  id = '$id'"
;

    return mysql_query($sql, $_sess_db);
}

function
_clean($max)
{

    global $_sess_db;
    
    $old = time() - $max;
    $old = mysql_real_escape_string($old);

    $sql = "DELETE
            FROM   sessions
            WHERE  access < '$old'"
;

    return mysql_query($sql, $_sess_db);
}


session_start();
?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.