Salut à tous,

J'ai un petit souci avec une de mes interfaces.
En effet, mon site nécessite une authentification par session.
Lorsque j'exécute un certain scripts externe, mes variables de session sont détruites anormalement et je ne peux continuer correctement sur le site, comment faire ?

Voici quelques bout de codes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
header_session.php
 
<?php
session_cache_limiter('private'); /* Configure le limiteur de cache à 'private' */
$cache_limiter = session_cache_limiter(); 
session_cache_expire(20);  /* Configure le délai d'expiration à 30 minutes */
$cache_expire = session_cache_expire();  
session_start();  /* Démarre la session */
require_once ('../scripts/fonctions.php'); // bibliotheques de fonctions
// test si la session a été ouverte puis test si la session est toujours valide
if(!isset($_SESSION['id_user'])) 
{ 
   header('Location: ../index.php?error=3'); 
   exit; 
}
elseif((time() - $_SESSION['timeout']) > 1200) // 1200 secondes = 20 min
{
 header('Location: ../scripts/logout.php'); 
    exit; 
}
?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
settings.php
 
<?php
session_start();
// Import des bibliotheques necessaires
require_once ('../header_session.php'); // tests de session valide
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "<a href="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" target="_blank">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</a>">
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr">
<head>    
<title>Administration</title>
<script type="text/javascript" src="../scripts/dropdown.js"></script> 
<link href="../css/page_generale.css" rel="stylesheet" type="text/css" />
</head>  
<body>
<?php    // Ici on est bien loggué, on affiche un message 
$site_name = get_site_name($_SESSION['id_site']) ;
$der_connexion = get_last_connect($_SESSION['id_user']);  
?>
<div id="global">
 <div id="header"></div>
    <div id="content">
     <div id="setting_header">
            <p class="infos_titre3">Panneau d'Administration</p>
        </div>
        <div id="setting_content">
         <div id="navcontainer">
             <?php
     require_once('menu_settings.php');
    ?>
            </div>
            <div id="cadre">
             <?php
     require_once('content_settings.php');
    ?>
            </div>
            <div id="back"><br />
               <a href="../scripts/logout.php"><img src="../images/close.png" alt="" width="30" height="30" title="Se D&eacute;connecter ?" border="0" /></a>&nbsp;<a href="./index.php"><img src="../images/event_list.png" alt="" width="60" height="40" title="Liste des &eacute;v&egrave;nements" border="0" /></a></div>
 
        </div>
        <div id="setting_footer"></div>
    </div>
    <div id="footer"></div>
</div>
</body>
</html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
content_settings.php
 
<?php
if(isset($_GET['menu']) && strcmp($_GET['menu'],'users')==0)
{
 ?>
 <table width="100%" border="0" align="center">
        <tr>
            <td width="15%" align="center">
            <img src="../images/users.png" class="transparent" border="0" /><br /><br />
            <a href="#">Creer Utilisateur</a>
            </td>
            <td width="85%">
    <table width="95%" border="1" align="center" class="settings">
                    <tr bgcolor="#E7F0FE" align="center">
                        <td width="20%">Login</td>
                        <td width="20%">Pwd</td>
                        <td width="20%">R&ocirc;le</td>
                        <td width="20%">Site</td>
                        <td width="10%">Editer</td>
                        <td width="10%">Suppr.</td>
                    </tr>
                    <?php
      connect();
 
      $sql = "SELECT * FROM users";
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql.'<br />'.mysql_error());
 
      while($user = mysql_fetch_array($req))
      {
       $site = get_user_site($user['id_site']);
       $role = get_user_role($user['id_role']);
 
       ?>
                            <tr align="center">
                                <td width="20%"><?php echo $user['login']; ?></td>
                                <td width="20%"><?php echo $user['password']; ?></td>
                                <td width="20%"><?php echo $role['role_desc']; ?></td>
                                <td width="20%"><?php echo $site['site_name']; ?></td>
                                <td width="10%"><img src="../images/parametres.gif"></td>
                                <td width="10%"><img src="../images/stop.gif"></td>
                            </tr>
                            <?php
      }
     ?>
 
                </table>
 
                <?php
 
                ?>
            </td>
        </tr>
    </table>
    <?php
}
elseif(isset($_GET['menu']) && strcmp($_GET['menu'],'synoptique')==0)
{
 ?>
 synoptique
    <?php
}
elseif(isset($_GET['menu']) && strcmp($_GET['menu'],'tirs')==0)
{
 ?>
 tirs
    <?php
}
elseif(isset($_GET['menu']) && strcmp($_GET['menu'],'zones')==0)
{
 ?>
 zones
    <?php
}
elseif(isset($_GET['menu']) && strcmp($_GET['menu'],'capteurs')==0)
{
 ?>
 capteurs
    <?php
}
elseif(isset($_GET['menu']) && strcmp($_GET['menu'],'stations')==0)
{
 ?>
 stations
    <?php
}
elseif(isset($_GET['menu']) && strcmp($_GET['menu'],'sites')==0)
{
 ?>
 sites
    <?php
}
?>
Ci vous souhaitez visualiser le résultat problématique, http://www.net-productions.fr/clients/myotis/index.php Login/MdP : developpez.com/test

Le problème se pose lorsque je bascule sur le panneau de configuration dans la section "utilisateurs" puis que je retourne via le bouton vers la liste des derniers évènements.
Il faut rafraichir la page et vous verrez "Role=Array" !??.§/.

Merci pour votre aide