Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2006, 11h58   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 22
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 22
Points : 3
Points : 3
Par défaut redirectionner une session

j'utilise un gestionnaire de session. Lors de la destruction automatique de la session j'aimerais rediriger l'utilisateur vers une page ou il devra rentrer ses parametres de connection à nouveau.
Voici le code du gestionnaire de session:
Code :
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
 
$SESS_DBHOST = "localhost";            /* database server hostname */ 
$SESS_DBNAME = "mabase";    /* database name */ 
$SESS_DBUSER = "root";            /* database user */ 
$SESS_DBPASS = "";                    /* database password */ 
 
$SESS_DBH = ""; 
//$SESS_LIFE = get_cfg_var("session.gc_maxlifetime"); 
$SESS_LIFE = 3600; 
 
function sess_open($save_path, $session_name) { 
    global $SESS_DBHOST, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS, $SESS_DBH; 
 
    if (! $SESS_DBH = mysql_pconnect($SESS_DBHOST, $SESS_DBUSER, $SESS_DBPASS)) { 
        echo "<li>Can't connect to $SESS_DBHOST as $SESS_DBUSER"; 
        echo "<li>MySQL Error: ", mysql_error(); 
        die; 
    } 
 
    if (! mysql_select_db($SESS_DBNAME, $SESS_DBH)) { 
        echo "<li>Unable to select database $SESS_DBNAME"; 
        die; 
    } 
 
    return true; 
} 
 
function sess_close() { 
    return true; 
} 
 
function sess_read($key) { 
    global $SESS_DBH, $SESS_LIFE; 
    $qry = "SELECT value FROM sessions WHERE sesskey = '$key' AND expiry > " . time(); 
    $qid = mysql_query($qry, $SESS_DBH); 
    if (list($value) = mysql_fetch_row($qid)) return $value; 
    return false; 
} 
 
function sess_write($key, $val) { 
    global $SESS_DBH, $SESS_LIFE; 
    $expiry = time() + $SESS_LIFE; 
    $value = addslashes($val); 
    $qry = "UPDATE sessions SET expiry = $expiry, value = '$value' WHERE sesskey = '$key'"; // AND expiry > " . time(); 
    $qid = mysql_query($qry, $SESS_DBH); 
    if(mysql_affected_rows()<1) { 
        $qry = "INSERT INTO sessions (sesskey, expiry, value) VALUES ('$key', $expiry, '$value')"; 
        $qid = mysql_query($qry, $SESS_DBH);        
    } 
    return $qid; 
} 
 
function sess_destroy($key) { 
    global $SESS_DBH; 
    $qry = "DELETE FROM sessions WHERE sesskey = '$key'"; 
    $qid = mysql_query($qry, $SESS_DBH); 
    return $qid; 
} 
 
function sess_gc($maxlifetime) { 
    global $SESS_DBH; 
    $qry = "DELETE FROM sessions WHERE expiry < " . time(); 
    $qid = mysql_query($qry, $SESS_DBH); 
    return mysql_affected_rows($SESS_DBH); 
} 
 
session_set_save_handler( 
    "sess_open", 
    "sess_close", 
    "sess_read", 
    "sess_write", 
    "sess_destroy", 
    "sess_gc");
merci
samsso2005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 12h53   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Essaie avec :
Code :
1
2
3
if(sess_destroy($key)){
   header(...);
}
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h52.


 
 
 
 
Partenaires

Hébergement Web