[résolu] L'ID de session change de page en page

L'ID de session change de page en page [résolu] - PHP - Programmation

Marsh Posté le 21-08-2006 à 19:24:02    

Bonjour,
 
je développe actuellement une petite appli PHP, dans laquelle j'utilise des sessions. Pour passer les sessions d'une page à une autre, je n'utilise pas les cookies (le client ne les accepte pas), mais le passage d'un ID de session dans l'URL.
Le php.ini contient session.use_cookies = 1, et je ne souhaite pas changer cette valeur.
Afin de forcer le passage de l'ID dans l'URL, j'ai

ini_set('session.use_cookies', false);


au début de chaque page.
La première page de l'appli est une page de login. En observant le formulaire, on voit que PHP a bien ajouté un champ :

<input type="hidden" name="PHPSESSID" value="cb60b2fbf293e600cd4a42866126db49" />


dans le formulaire, en prévision de la suite :) !
Enfin, après m'être connecté, je vois que les différents liens de la page ont bien été modifiés pour ajouter l'ID de session, mais celui-çi est différent de celui de la page de login [:mlc] !
 
Au début de ma page de login :

<?php
ini_set('session.use_cookies', false);
session_start();
unset($_SESSION['mail']);
unset($_SESSION['messages']);
?>


La seconde page :

<?php
ini_set('session.use_cookies', false);
session_start();
 
if(!isset($_SESSION['mail']))
{
 $username = $_POST['username'];
 $password = $_POST['password'];
 $server='pop.free.fr';
 $port=DEFAULT_PORT;
 
 $mail = new wapmail();
 $mail->setServer($server, $port);
 $mail->setLogin($username, $password);
 
 $_SESSION['mail'] = $mail;
   
 if(!$mail->connect())
  die("Error logging in" );
}
else
 $mail = $_SESSION['mail'];
?>


Est-ce qu'il faut rappeler obligatoirement set_ini à chaque nouvelle page ?
 
Comment dire à PHP lors de l'arrivée sur la seconde page d'utiliser l'id de session envoyé par la première page ? La doc précise que session_start() est capable de récupérer l'ID reçu par POST, mais ça n'a pas l'air de marcher des masses :/


Message édité par freds45 le 21-08-2006 à 21:13:51

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-08-2006 à 19:24:02   

Reply

Marsh Posté le 21-08-2006 à 21:13:36    

Bon, pour ceux que ça intéresse, souci résolu en passant par un .htaccess dans le répertoire en question, et en y mettant :
 
php_flag session.use_cookies off
php_flag session.use_trans_sid on
 
(et en supprimant les lignes ini_set dans le code bien sûr :jap: )


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 22-08-2006 à 14:09:49    

par curiosité, pourquoi tu veux absolument l'identifiant de session qui passe par url ?

Reply

Marsh Posté le 22-08-2006 à 16:27:06    

L'appli en question c'est pour répondre à un besoin perso : en gros, un mini "wap"mail, consultable depuis un téléphone portable, pda, ...
 
Le souci, c'est que mon portable n'accepte pas les cookies :/, donc obligé de passer l'ID de session dans l'URL.


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed