Actualisation de session [Résolu]

Signaler
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
-
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
-
Salut les CSistes !!
J'ai une question concernant les sessions, dont je n'ai malheureusement pas trouvé la réponse.
J'ai réalisé un site avec une frame (frame.php) :

- un tableau a gauche (menu.php)
- un tableau en haut (top.php)
- et la partie centrale (body.php)

Au debut du site, on à l'obligation de se connecter, avec se code :

<?php
// On démarre la session
session_start();
$loginOK = false;  // cf Astuce



// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login_admin'])) && (!empty($_POST['password'])) ) {



  extract($_POST);  // je vous renvoie à la doc de cette fonction



  // On va chercher le mot de passe afférent à ce login  $sql "SELECT *  FROM al2_admin WHERE login_admin '".addslashes($login_admin)."'";
  $req = mysql_query($sql) or die('Erreur SQL :
'.$sql);
    
  // On vérifie que l'utilisateur existe bien
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);
   
    // On vérifie que son mot de passe est correct
    if ($password == $data['password']) {
      $loginOK = true;
    }
  }
}



// Si le login a été validé on met les données en sessions
if ($loginOK) {
  $_SESSION['iduser'] = $data['id_admin'];
  $_SESSION['login'] = $data['login_admin'];
    $_SESSION['level'] = $data['level_admin'];
    $_SESSION['nom'] = $data['nom_admin'];



  echo"<META HTTP-EQUIV='Refresh' CONTENT='1; URL= frame.php'>";
}
else {
  echo"<META HTTP-EQUIV='Refresh' CONTENT='1; URL=index.php?error=1'>";
}
?>


La fonction ci-dessu fonctionne très bien. Les données, vous l'aurez vu, se mettent en session. Le probleme vient du php.ini de mon hebergeur, qui liment les durée de la session à 180. Seulement, je n'arrive pas à dire à la frame, qu'une fois que les données de la session ont "expirés" qu'il faut qu'il se deconnecte et revienne à page principale.

Voici mon idée de code :

<?php  if ($_SESSION['nom']="") {renvoi:"http://********/index.php } ?>

Le probleme est que ce code, laisse la frame en place, et ne renvoi la partie index.php que dans la partie centrale.

Ce que je recherche : que toute la page s'annule et renvoi sur la page index.php

Merci d'avance.

6 réponses

Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,

Pour ceci tu vas devoir utiliser du javascript
essait par exemple:

<?php 
if (empty($_SESSION['nom']))
{
echo "Votre session a expiré, vous allez être redirigé.
            <script language='JavaScript'><!---
                setTimeout("window.location='index.php'",2000);
            --></script>";
}
?>

Tu peux te passer du timeout, mais j'trouve ça plus pratiquepersonnelement.

PS: Je ne suis pas certain a 100% d'avoir bien compris ton problème, mais si je résume tu veux que lorsque la session expire tout la fenetre soit redirigé , pas seulement le cadre.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

J'ai oublié les " à la fin de mon code....
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

C'est exactement ca, le temps de tester et je te dis ca....
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

Merci beaucoup beaucoup !!!
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Content de t'avoir aidé

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

J'ai améliorer un le code : le voici

 


<?php 
if (empty($_SESSION['nom']))
{
echo "Votre session a expiré, vous allez être redirigé. ";?>
     





 <script language="JavaScript">
window.open("./index.php","_parent")
            </script>
   <? } ?>

++