Perte de session avec ie ???

gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011 - 8 avril 2011 à 19:14
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011 - 9 avril 2011 à 22:00
Bon voila le souci je peut le tourner comme je veut mais je ne trouve pas la solution ....
j'essaie en vain mais non... la session marche avec chrome et FF mais pas sou ie et opera je doit rater qq chose mais je ne sait pas quoi...

en gros le probleme la réception de variable ok avec un printf meme sous ie ok
apres je redirige la page et la pouf perte de session plus rien dedans un simple formulaire de login pass qui redirige la j'ai commenter j'ai essayer pas mal de truc mais rien a faire

page login
<?php
ini_set("session.use_cookies", 0);
    ini_set("session.use_trans_sid", 1);
session_start();
$lifetime=600;
setcookie(session_name(),session_id(),time()+$lifetime);
$user_=$_GET['login'];
$pass_=$_GET['password'];
$webiz=$_GET['webiz'];
$log=$_GET['log'];

include_once('../../_cfg_ini.php');

if ($user_ ==$AdminIdentifiant){
if($pass_ ==$AdminMotDePasse){
$host  = $_SERVER['HTTP_HOST'];
//$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
session_name("languestruc" );
$_SESSION['news_SESSION'] = true;
$_SESSION['sadmin']="0";
if($webiz=='2'){
header("Location:http://$host/news/news_ADMIN/news_gallery.php");
exit();
//header ("Content-Length: 0");
   }else
   if($webiz=='3'){header("Location:http://$host$uri/news_menu.php");
   header ("Content-Length: 0");
   exit();}
   else
   if($webiz=='4'){header("Location:http://$host$uri/stats.php");
   header ("Content-Length: 0");
   exit();}
}
}

if($log=='1'){include_once('./fonctions_adm/_deconnexion.php');}


Le code la sans redirection de page m'affiche bien les variable de session

mais si on redirige comme ici -

page de redirection :

session_start();
session_name("languestruc" );
header("Cache-Control: no-cache, must-revalidate");
header("Expires: ".gmdate("D, d M Y H:i:s",time())." GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s",time()-30)." GMT");
include("fonctions_adm/lang.php" );
// protection de page ADMIN
   include_once('./fonctions_adm/_protectpage.php');
// **************************************
// Parametres de CONFIGURATION de la NEWS
include_once('../fonctions/news_config.php');
// **************************************
// Parametres de Connexion a la BD
include_once('../fonctions/_connexion.php');
// **************************************
// Fonctions de traitement d image
include_once('../fonctions/fct_traitement_image.php');
// **************************************
include_once('../fonctions/fonction_admin.php');



code de la page ./fonctions_adm/_protectpage.php

session_start();
// ***************************************************************
// Protection des pages de la partie "administration"
// ***************************************************************
// si non identifie
if (isset($_SESSION['news_SESSION']))
{

   // redirection vers le formulaire d identification
 //  header("Location: index.php");
   exit();
}else{
//

//echo 'erreur de session';
header("Location: index.php");}
// ------------------------------
// si identifie, on continue ...
// ------------------------------


voila et donc quoi que je fasse je retourne sur index.php

vu que je perd mes variable de session des que je fais un header('Location sur ie et opera

j'ai essayer sur 3 pc différent avec ie mais le problème reste le même la je sèche

3 réponses

007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
9 avril 2011 à 12:52
Bien que ce ne soit pas très clair dans la documentation, la directive ini_set("session.use_trans_sid", 1); semble imposer la transmission des identifiants de session par les urls ...

Il conviendrait alors d'en tenir compte dans les redirections !
0
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011
9 avril 2011 à 21:53
merci pour la réponse

sur la page 1 on récolte le login et le passe si ok on redirige vers une page

petit hic sur cette page on perd la session ...

et on retourne donc a la page login

si je fais un printf avant de rediriger si le login et pass sont bon les variables de sessions sont ok

mais de la je redirige et la perte de session


seulement sous IE et safari ?


page de verification de login :

<?php
ini_set("session.use_cookies", 0);
    ini_set("session.use_trans_sid", 1);
session_start();
$lifetime=600;
setcookie(session_name(),session_id(),time()+$lifetime);
$user_=$_GET['login'];
$pass_=$_GET['password'];
$webiz=$_GET['webiz'];
$log=$_GET['log'];

include_once('../../_cfg_ini.php');

if ($user_ ==$AdminIdentifiant){
if($pass_ ==$AdminMotDePasse){
$host  = $_SERVER['HTTP_HOST'];
//$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
session_name("languestruc" );
$_SESSION['news_SESSION'] = true;
$_SESSION['sadmin']="0";
if($webiz=='2'){
header("Location:http://$host/news/news_ADMIN/news_gallery.php");
exit();
//header ("Content-Length: 0");
   }else
   if($webiz=='3'){header("Location:http://$host$uri/news_menu.php");
   header ("Content-Length: 0");
   exit();}
   else
   if($webiz=='4'){header("Location:http://$host$uri/stats.php");
   header ("Content-Length: 0");
   exit();}
}
}
page de redirection quand le login est ok

?>


page lors que l'utilisateur est authentifier

<?php
session_start();
session_name("languestruc" );
header("Cache-Control: no-cache, must-revalidate");
header("Expires: ".gmdate("D, d M Y H:i:s",time())." GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s",time()-30)." GMT");
include("fonctions_adm/lang.php" );
// protection de page ADMIN
   include_once('./fonctions_adm/_protectpage.php');
// **************************************
// Parametres de CONFIGURATION de la NEWS
include_once('../fonctions/news_config.php');
// **************************************
// Parametres de Connexion a la BD
include_once('../fonctions/_connexion.php');
// **************************************
// Fonctions de traitement d image
include_once('../fonctions/fct_traitement_image.php');
// **************************************
include_once('../fonctions/fonction_admin.php');



fonction qui verifie que l'utilisateur est toujour authentifier

<?php
session_start();
// ***************************************************************
// Protection des pages de la partie "administration"
// ***************************************************************

if (isset($_SESSION['news_SESSION'])){
}else{header("Location: index.php");
exit();}


je ne trouve aucune explication plausible
0
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011
9 avril 2011 à 22:00
le printr me donne bien session:Array ( [news_SESSION] => 1 )

une idée ? une soluce ?
0
Rejoignez-nous