cs_christuckers
Messages postés75Date d'inscriptionjeudi 27 juillet 2006StatutMembreDernière intervention26 mars 2010
-
4 déc. 2007 à 11:06
cs_christuckers
Messages postés75Date d'inscriptionjeudi 27 juillet 2006StatutMembreDernière intervention26 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'];
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
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 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