Problème de sessions.
Max747
Messages postés
258
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Afin d'essayer de comprendre d'où provient la cause de non fonctionnement de la transmission de valeurs par session PHP, j'ai d'abord repris les bases que voici avec un fichier nommé envoi.php et un autre reception.php.
envoi.php:
reception.php:
Voici les résultats en image attestant que ces codes fonctionnent:
L'envoi:
Puis la réception:
Puis création d'un dysfonctionnement en supprimant la ligne 3.
du fichiers envoi.php dont voici le résultat:
Le dysfonctionnement se fait bien comme prévu et comme l'atteste l'image ci dessous:
Voici désormais l'anomalie qui me préoccupe et dont je n'en trouve pas la cause:
En toute logique et à la lecture de ce qui est écrit ci dessus je pense avoir localisé le fichier en défaut que voici:
login.inc.php
A la fin de ce fichier en lignes 335 à 340, que j'ai ajouté pour faire des tests, vous retrouvez le script permettant d'envoyer des valeurs en session vers le même fichier nommé réception.php.
Mais qui cette fois ci ne sont pas transmises en transitant par un fichier nommé index.php comme l'indique c'est copie partielle d'écran utile:

La valeur Mathieu apparait durant 1 seconde, mais ensuite bien que la redirection se réalise comme prévu vers le fichier reception.php, aucune données concernant la valeur des sessions "username" et "calcul" n'est transmises à ce niveau.

Le problème pourrait il venir du fichier index.php du fait qu'il soit présent durant 1 seconde avec la valeur Mathieu.Mais sans la valeur transmise par la session "calcul" ?
Merci de bien vouloir m'apporter votre aide afin de localiser ce dysfonctionnement pour de résoudre le problème qui me préoccupe.
Cordialement.
Afin d'essayer de comprendre d'où provient la cause de non fonctionnement de la transmission de valeurs par session PHP, j'ai d'abord repris les bases que voici avec un fichier nommé envoi.php et un autre reception.php.
envoi.php:
<?php session_start (); $_SESSION['username']="Pierre"; if (!empty ($_SESSION['username'])) { $x=24; $_SESSION['calcul']=$x; header ("Refresh: 1;URL=./reception.php");//Délais d'une seconde avant d'appeler le fichier reception.php. echo "Bonjour"; echo "<br/>"; echo $_SESSION['username']; } else echo "La session username ne possède pas de valeur ou est vide."; exit("<br/> Stop."); ?>
reception.php:
<?php session_start (); echo $_SESSION['calcul']; echo "</br>"; echo $_SESSION['username']; echo "</br>"; echo "Fichier reception.php ouvert"; ?>
Voici les résultats en image attestant que ces codes fonctionnent:
L'envoi:

Puis la réception:

Puis création d'un dysfonctionnement en supprimant la ligne 3.
$_SESSION['username']="Pierre";
du fichiers envoi.php dont voici le résultat:
<?php session_start (); if (!empty ($_SESSION['username'])) { $x=24; $_SESSION['calcul']=$x; header ("Refresh: 1;URL=./reception.php");//Délais d'une seconde avant d'appeler le fichier reception.php. echo "Bonjour"; echo "<br/>"; echo $_SESSION['username']; } else echo "La session username ne possède pas de valeur ou est vide."; exit("<br/> Stop."); ?>
Le dysfonctionnement se fait bien comme prévu et comme l'atteste l'image ci dessous:

Voici désormais l'anomalie qui me préoccupe et dont je n'en trouve pas la cause:
En toute logique et à la lecture de ce qui est écrit ci dessus je pense avoir localisé le fichier en défaut que voici:
login.inc.php
<?php session_start(); if (isset($_GET['logout'])) { session_unset( ); // delete the session setcookie('WebChessData','DELETED!',time( ) - 3600); // delete the cookie header('Location: login.php'); // redirect to the login page exit; } call($_POST); // si nous essayons d'enregistrer un nouveau nom if (isset($_POST['register'])) { // tester le mot de passe. if ( ! isset($_SESSION['token']) || ($_SESSION['token'] != $_POST['token'])) { call($GLOBALS); die('Erreure détectée.<br /><br />Si vous avez atteint cette page par erreur, veuillez revenir à la page de connexion, effacer votre cache, actualiser la page et essayer de vous reconnecter.'); } // définir l'indicateur 'tentative de connexion' $new_user = true; // check for existing user with same username $query = " SELECT p_id FROM ".T_PLAYER." WHERE p_username = '".sani($_POST['txtUsername'])."' "; $mysql->query($query, __LINE__, __FILE__); if (0 < $mysql->num_rows( )) { if($_POST['txtUsername'] == ''){ echo '<script type="text/javascript"> window.location.replace(\'newuser.php\');</script>'; exit( ); }else{ echo '<script type="text/javascript">alert("Ce pseudo est déjà pris."); window.location.replace(\'newuser.php\');</script>'; exit( ); } } call(password_make($_POST['pwdPassword'])); $passe = htmlspecialchars(trim($_POST['pwdPassword'])); $query = " INSERT INTO ".T_PLAYER." SET p_password = '".password_make($_POST['pwdPassword'])."' , p_username = '".sani($_POST['txtUsername'])."' , p_first_name = 'Nom N°1' , p_last_name = 'Nom N°2' , p_theme = 'Style A' , p_motpasse = '".$passe."' "; if ($CFG_USEEMAIL) { $query .= " , p_email = '".sani($_POST['txtEmail'])."' "; } $query .= " , p_created = NOW( ) "; $mysql->query($query, __LINE__, __FILE__); // définir la session var afin que nous soyons connectés ci-dessous $_SESSION['player_id'] = $mysql->fetch_insert_id( ); // ajouter tous les messages globaux pour l'utilisateur $Message = new Message($_SESSION['player_id']); $Message->grab_global_messages( ); } // if we are already logged in, and there is nobody attempting to log in... - si nous sommes déjà connectés et que personne ne tente de se connecter ... if (isset($_SESSION['player_id']) && ! isset($_POST['login']) && ( ! empty($_SESSION['GAME']) && ('WebChess2-'.$CFG_SITENAME.'-'.$CFG_MAINPAGE == $_SESSION['GAME']))) { call('REFRESH LOGIN'); // just refresh the session data with the (possibly new) database data - actualisez simplement les données de session avec les données (éventuellement nouvelles) de la base de données $query = " SELECT * FROM ".T_PLAYER." WHERE p_id = '{$_SESSION['player_id']}' "; $player = $mysql->fetch_assoc($query, __LINE__, __FILE__); $refreshPlayer = true; } // or if we have a cookie, log in using the cookie data - ou si nous avons un cookie, connectez-vous en utilisant les données du cookie elseif (isset($_COOKIE['WebChessData']) && ('DELETED!' != $_COOKIE['WebChessData']) && ! isset($_POST['login'])) { call('COOKIE LOGIN'); $data = base64_decode($_COOKIE['WebChessData']); $ident = substr($data,0,32); $token = substr($data,32); $query = " SELECT * FROM ".T_PLAYER." WHERE p_ident = '{$ident}' AND p_token = '{$token}' "; call($data);call($ident);call($token);call($query); if ($player = $mysql->fetch_assoc($query, __LINE__, __FILE__)) { call('COOKIE OK !'); $refreshPlayer = true; // regenerate the security info session_regenerate_id(true); $ident = md5(uniqid(mt_rand( ), true)); $token = md5(uniqid(mt_rand( ), true)); $data = base64_encode($ident . $token); setcookie('WebChessData', $data, time( ) + (60 * 60 * 24 * 360));//Cookies pour 360 jours. // save the new ident and token to the database - enregistrer le nouvel identifiant et mot codé dans la base de données. $query = " UPDATE ".T_PLAYER." SET p_ident = '{$ident}' , p_token = '{$token}' WHERE p_id = '{$player['p_id']}' "; $mysql->query($query, __LINE__, __FILE__); } else // cookie data is invalid { call('COOKIE INVALID !'); session_unset( ); // delete any session vars setcookie('WebChessData','DELETED!',time( ) - 3600); // delete the cookie header('Location: login.php'); // redirect to the login page exit; } } // if somebody is trying to log in - si quelqu'un essaie de se connecter elseif (isset($_POST['token'])) { call('REGULAR LOGIN'); // test the token - Teste le mot codé. if (( ! isset($_SESSION['token'])) || ($_SESSION['token'] != $_POST['token'])) { call($GLOBALS); die('Erreure détectée.<br /><br />Si vous avez atteint cette page par erreur, veuillez revenir à la page de connexion, effacer votre cache, actualiser la page et essayer de vous reconnecter.'); } // check for a player with supplied username and password - Sélectionne un joueur avec le nom d'utilisateur et le mot de passe fournis. $query = " SELECT * FROM ".T_PLAYER." WHERE p_username = '".sani($_POST['txtUsername'])."' "; $player = $mysql->fetch_assoc($query, __LINE__, __FILE__); // check for an old password and update if needed - Vérifie un ancien mot de passe et le met à jour si nécessaire. if ((false !== $player) && (32 === strlen($player['p_password']))) { if (md5($_POST['pwdPassword']) === $player['p_password']) { $player['p_password'] = password_make($_POST['pwdPassword']); $mysql->insert(T_PLAYER, array('p_password' => $player['p_password']), " WHERE `p_id` = '{$player['p_id']}' "); } } } else // we need to log in - nous devons nous connecter { call('NO LOGIN DETECTED'); call($GLOBALS); header('Location: login.php'); exit; } // just refresh, OR log us in if such a player exists and password is good... otherwise die - Il suffit de rafraîchir OU de nous connecter si un tel joueur existe et que le mot de passe est bon ... sinon disparaissez. if (isset($refreshPlayer) || ((false !== $player) && password_test($_POST['pwdPassword'], $player['p_password']))) { $_SESSION['GAME'] = 'WebChess2-'.$CFG_SITENAME.'-'.$CFG_MAINPAGE; // prevent cross script session stealing due to refresh login $_SESSION['player_id'] = $player['p_id']; /*echo $_SESSION['player_id'] ; exit('Stop');*/ $_SESSION['wins'] = $player['p_wins']; $_SESSION['draws'] = $player['p_draws']; $_SESSION['losses'] = $player['p_losses']; $_SESSION['rating'] = $player['p_rating']; $_SESSION['nb_games'] = $player['p_wins']+$player['p_draws']+$player['p_losses']; $_SESSION['last_input_time'] = time( ); $_SESSION['first_name'] = $player['p_first_name']; $_SESSION['last_name'] = $player['p_last_name']; $_SESSION['username'] = $player['p_username']; $_SESSION['email'] = $player['p_email']; $_SESSION['pref_history'] = $player['p_history']; $_SESSION['pref_theme'] = $player['p_theme']; $_SESSION['pref_auto_reload'] = $player['p_auto_reload']; $_SESSION['pref_max_games'] = $player['p_max_games']; $_SESSION['pref_show_last_move'] = ( "1" == $player['p_show_last_move'] ) ? true : false; $_SESSION['is_admin'] = ( $CFG_ROOT_ADMIN == $player['p_username'] || "1" == $player['p_is_admin'] ) ? true : false; //MEDAILLES DANS LOGIN.IN.PHP POUR LA PARTIE ESPACE PERSO ET CHESSUTILS.INC.PHP //POUR LE RESTE // pseudo + médailles $_SESSION['username_medal'] = ""; //médailles pour le nombre de parties $_SESSION['medal'] = ""; if($_SESSION['nb_games'] < 10){ $_SESSION['username_medal'] = $player['p_username']; $_SESSION['medal'] = ''; } if($_SESSION['nb_games'] >= 10 && $_SESSION['nb_games'] < 49){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_1.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_1.png" />'; } else if($_SESSION['nb_games'] >= 50 && $_SESSION['nb_games'] < 99){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_2.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_2.png" />'; } else if($_SESSION['nb_games'] >= 100 && $_SESSION['nb_games'] < 149){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_3.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_3.png" />'; } else if($_SESSION['nb_games'] >= 150 && $_SESSION['nb_games'] < 199){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_4.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_4.png" />'; } else if($_SESSION['nb_games'] >= 200 && $_SESSION['nb_games'] < 249){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_5.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_5.png" />'; } else if($_SESSION['nb_games'] >= 250 && $_SESSION['nb_games'] < 299){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_6.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_6.png" />'; } else if($_SESSION['nb_games'] >= 300 && $_SESSION['nb_games'] < 349){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_7.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_7.png" />'; } else if($_SESSION['nb_games'] >= 350 && $_SESSION['nb_games'] < 399){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_8.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_8.png" />'; } else if($_SESSION['nb_games'] >= 400 && $_SESSION['nb_games'] < 499){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_9.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_9.png" />'; } else if($_SESSION['nb_games'] >= 500 && $_SESSION['nb_games'] < 599){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_10.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_10.png" />'; } else if($_SESSION['nb_games'] >= 600 && $_SESSION['nb_games'] < 799){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_11.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_11.png" />'; } else if($_SESSION['nb_games'] >= 800 && $_SESSION['nb_games'] < 999){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_12.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_12.png" />'; } else if($_SESSION['nb_games'] >= 1000){ $_SESSION['username_medal'] = $player['p_username'].'<img src="rec_img/rec_13.png" />'; $_SESSION['medal'] = '<img src="rec_img/rec_13.png" />'; } if($_SESSION['wins'] >= 100 && $_SESSION['wins'] < 499){ $_SESSION['username_medal'] .= '<img src="rec_img/rec2_1.png" />'; $_SESSION['medal'] .= '<img src="rec_img/rec2_1.png" />'; } else if($_SESSION['wins'] >= 500 && $_SESSION['wins'] < 1000){ $_SESSION['username_medal'] .= '<img src="rec_img/rec2_2.png" />'; $_SESSION['medal'] .= '<img src="rec_img/rec2_2.png" />'; } else if($_SESSION['wins'] >= 1000){ $_SESSION['username_medal'] .= '<img src="rec_img/rec2_3.png" />'; $_SESSION['medal'] .= '<img src="rec_img/rec2_3.png" />'; } $today = strtotime(date('Y-m-d')); $difference = $today - strtotime($player['p_created']); $diff_jours = $difference / 86400; $_SESSION['jours_inscrit'] = $diff_jours; //inscrit depuis un an if($diff_jours > 364){ $_SESSION['username_medal'] .= '<img src="rec_img/rec3_1.png" />'; $_SESSION['medal'] .= '<img src="rec_img/rec3_1.png" />'; } // only regenerate the security info if we are loggin in - ne régénérer que les informations de sécurité si nous nous connectons // if it's a refresh login, skip this step - s'il s'agit d'une connexion de rafraîchissement, ignorez cette étape if (isset($_POST['remember']) && ('' != $_POST['remember'])) { // generate the security info - générer les informations de sécurité session_regenerate_id(true); $ident = md5(uniqid(mt_rand( ), true)); $token = md5(uniqid(mt_rand( ), true)); $data = $ident . $token; $data = base64_encode($data); setcookie('WebChessData', $data, time( ) + (60 * 60 * 24 * 7)); // 1 week //echo $_COOKIE['WelChessData']; // save the new ident and token to the database - enregistrer le nouvel ident et mot codé dans la base de données. $query = " UPDATE ".T_PLAYER." SET p_ident = '{$ident}' , p_token = '{$token}' WHERE p_id = '{$player['p_id']}' "; $mysql->query($query, __LINE__, __FILE__); } $Message = new Message($_SESSION['player_id'], $_SESSION['is_admin']); } else { if (!DEBUG) { echo '<script type="text/javascript">alert(\'Mot de passe ou pseudo incorrect.\'); window.location.replace(\'login.php\');</script>'; } else { echo 'Erreur <br />POST: '; call($_POST); echo 'Query Results: '; call($player); echo 'MySQL error: '; call($mysql->fetch_error( )); } exit; } if (!empty ($_SESSION['username'])) $x=24; $_SESSION['calcul']=$x; header ("Refresh: 1;URL=../reception.php"); echo $_SESSION['username']; exit("<br/> Stop."); ?>
A la fin de ce fichier en lignes 335 à 340, que j'ai ajouté pour faire des tests, vous retrouvez le script permettant d'envoyer des valeurs en session vers le même fichier nommé réception.php.
Mais qui cette fois ci ne sont pas transmises en transitant par un fichier nommé index.php comme l'indique c'est copie partielle d'écran utile:

La valeur Mathieu apparait durant 1 seconde, mais ensuite bien que la redirection se réalise comme prévu vers le fichier reception.php, aucune données concernant la valeur des sessions "username" et "calcul" n'est transmises à ce niveau.

Le problème pourrait il venir du fichier index.php du fait qu'il soit présent durant 1 seconde avec la valeur Mathieu.Mais sans la valeur transmise par la session "calcul" ?
Merci de bien vouloir m'apporter votre aide afin de localiser ce dysfonctionnement pour de résoudre le problème qui me préoccupe.
Cordialement.
A voir également:
- Problème de sessions.
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
- Teamviewer code de session expiré - Forum Logiciels
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Gmail ouverture de session ✓ - Forum Gmail
- Ouverture de session gmail - Guide
4 réponses
Hello
je pense que c'est le comportement normal de PHP qui estime qu'il y a potentiellement la possibilité que ta redirection/passage de variable en session est dangereuse et peux provenir d'une attaque (hack...) d'un autre site...
-> Essaye en passant tes variables par GET
-> Essaye avec des cookies
-> Regarde aussi du côté des url absoles -> Relatives
Bon courage
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ma réponse t'a un peu aidé ? Si oui, un petit merci... Merci.
je pense que c'est le comportement normal de PHP qui estime qu'il y a potentiellement la possibilité que ta redirection/passage de variable en session est dangereuse et peux provenir d'une attaque (hack...) d'un autre site...
-> Essaye en passant tes variables par GET
header ("Refresh: 1;URL=../reception.php?username=XXX");
-> Essaye avec des cookies
-> Regarde aussi du côté des url absoles -> Relatives
Bon courage
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ma réponse t'a un peu aidé ? Si oui, un petit merci... Merci.
Hello,
en fait, restant sur mon idée consistant à rechercher le bug par la méthode de sessions ne fonctionnant pas normalement pour une raison que j'ignore encore, la redirection vers le fichier reception.php s'effectue d'abord durant 1 seconde en transitant par le fichier index.php.
Cela est dû aux scripts du fichier login.inc.php puisqu'en toute logique tout se déroule bien avec le couple envoi.php - reception.php comme présenté au début de mon sujet.
Avez vous une piste, un indice ou une idée que je puisse appliquer, par le fonctionnement des sessions si possible, pour mener l'enquête?
Comptant sur votre perspicacité, je continue mes recherches pour tenter de découvrir la raison de ce défaut.
Cordialement.
en fait, restant sur mon idée consistant à rechercher le bug par la méthode de sessions ne fonctionnant pas normalement pour une raison que j'ignore encore, la redirection vers le fichier reception.php s'effectue d'abord durant 1 seconde en transitant par le fichier index.php.
Cela est dû aux scripts du fichier login.inc.php puisqu'en toute logique tout se déroule bien avec le couple envoi.php - reception.php comme présenté au début de mon sujet.
Avez vous une piste, un indice ou une idée que je puisse appliquer, par le fonctionnement des sessions si possible, pour mener l'enquête?
Comptant sur votre perspicacité, je continue mes recherches pour tenter de découvrir la raison de ce défaut.
Cordialement.
Hello,
Ne parvenant pas à transmettre des valeurs avec les sessions à l'aide de html.inc.php , je me suis orienté vers une solution consistant à utiliser des fonctions.
Ainsi voici le fichier simple mais fiable permettant d'appeler des fonctions dans html.inc.php et qui se nomme test.php:
Et voici la partie intéressante se trouvant à la fin du fichier html.inc.php comportant les fonctions en rapport avec test.php:
Dans cette exemple seul la valeur correspondant à la variable $hello est retournée.
La variable $mavaleur n'est pas retournée.
Alors que $_SESSION['user'] se trouvant en ligne 10 lorsque les lignes 8 à 11 sont activées retournent la valeur de la variable $_SESSION['user'] !
Quelqu' un peut il m'expliquer la raison de ce qui est pour moi anormal?
Merci.
Ne parvenant pas à transmettre des valeurs avec les sessions à l'aide de html.inc.php , je me suis orienté vers une solution consistant à utiliser des fonctions.
Ainsi voici le fichier simple mais fiable permettant d'appeler des fonctions dans html.inc.php et qui se nomme test.php:
<?php include ("html.inc.php"); bonjour(); echo $hello; test(); echo $mavaleur; ?>
Et voici la partie intéressante se trouvant à la fin du fichier html.inc.php comportant les fonctions en rapport avec test.php:
function bonjour() { global $hello; $hello="Bonjour"; } /* $nom = "<p>{$_SESSION['username']}</p>"; $_SESSION['user']=$nom; echo $_SESSION['user']; //OK exit("<br/> Stop."); */ $nom = "<p>{$_SESSION['username']}</p>"; $_SESSION['user']=$nom; function test() { global $mavaleur; $pseudo = $_SESSION['user']; //non ok $mavaleur = $pseudo; } ?>
Dans cette exemple seul la valeur correspondant à la variable $hello est retournée.
La variable $mavaleur n'est pas retournée.
Alors que $_SESSION['user'] se trouvant en ligne 10 lorsque les lignes 8 à 11 sont activées retournent la valeur de la variable $_SESSION['user'] !
Quelqu' un peut il m'expliquer la raison de ce qui est pour moi anormal?
Merci.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
concernant le comportement que tu décris au départ, et que tu penses être une anomalie:
comme tu nous as finalement informé que tu utilisais session_set_cookie_params(),
on dirait simplement que ces deux pages n'utilisent pas les même sessions.
(https://jeuxechecs.fr/echecs/login.php et https://jeuxechecs.fr/reception.php)
as-tu examiné les cookies de sessions de ces deux pages? je pense que tu y constateras l'effet de session_set_cookie_params().
concernant le comportement que tu décris au départ, et que tu penses être une anomalie:
comme tu nous as finalement informé que tu utilisais session_set_cookie_params(),
on dirait simplement que ces deux pages n'utilisent pas les même sessions.
(https://jeuxechecs.fr/echecs/login.php et https://jeuxechecs.fr/reception.php)
as-tu examiné les cookies de sessions de ces deux pages? je pense que tu y constateras l'effet de session_set_cookie_params().
Pas facile.
J'ai tenter avec les URL absolues et relatives.
J'ai déjà pensé aux cookies.
Mais il faut dire que le problème originale provient qu'il n'y a que sous Opera que je ne parviens pas à écrire du texte sur mon site.
Sous Firefox et google Chrome rien de changé.Mes textes sont pris en compte.
C'est ainsi que j'orientes mes recherches vers la question des sessions
afin de définir exactement pourquoi avant cela fonctionnait sous Opera et pas maintenant.
La solution GET serait dont pour moi celle du dernier recours.
Mais que je n'écarte pas tant que je n'ai apas trouvé de solutions meilleures.
Cordialement.