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
!
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 ![:/ :/](https://forum-images.hardware.fr/icones/ohwell.gif)
Message édité par freds45 le 21-08-2006 à 21:13:51
---------------
Filmstory : gardez trace des films que vous avez vu ! :D