Actualisation de session

Résolu
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 4 déc. 2007 à 11:06
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 18 déc. 2007 à 18:09
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

yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
6 déc. 2007 à 03:48
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  
3
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
4 déc. 2007 à 11:07
J'ai oublié les " à la fin de mon code....
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
6 déc. 2007 à 08:51
C'est exactement ca, le temps de tester et je te dis ca....
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
6 déc. 2007 à 11:48
Merci beaucoup beaucoup !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
6 déc. 2007 à 12:07
Content de t'avoir aidé

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
18 déc. 2007 à 18:09
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>
   <? } ?>

++
0
Rejoignez-nous