J'essaie d'utiliser la session PHP sans utiliser de cookies. J'ai activé session.use_trans_sid et désactivé session.use_cookies dans mon fichier php.ini. J'ai également désactivé les cookies dans mon navigateur Firefox. Maintenant, lorsque je navigue entre les pages, je suis incapable d'accéder à la variable dans le jeu d'objets de session d'une page précédente. BTW, je suis conscient que l'utilisation des identifiants de session dans le cadre de l'URL n'est pas une approche recommandée.Impossible d'accéder à la variable de session sur le cookie moins les sessions PHP
J'ai fourni l'exemple de code ci-dessous pour les deux pages - page1.php et page2.php. Page1.php définit une variable dans l'objet de session sur true et page2.php vérifie la valeur de cette variable et prend des mesures en conséquence.
page1.php
<?php
session_start();
if (isset($_REQUEST["user"]))
{
$_SESSION["name"] = true;
$host = $_SERVER["HTTP_HOST"];
$path = dirname($_SERVER["PHP_SELF"]);
header("Location: http://$host$path/page2.php");
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Page1</title>
</head>
<body>
<form method="get" action="/page1.php">
Name:<input type="text" name="user"/><br/>
<input type="submit" value="Login"/><br/>
</form>
</body>
</html>
page2.php
<?php
session_start();
if ($_SESSION["name"])
{
echo("<h1>Name set.</h1>");
}
else
{
echo("<h1>Name NOT set.</h1>");
}
?>
Pouvez-vous nous montrer un code de base que vous utilisez? –
La fonctionnalité de session fonctionne-t-elle? Pouvons-nous voir les en-têtes? –
La raison pour laquelle vous voyez 'GET /page1.php?PHPSESSID=v08 ...' est due au 'session_start' qui est déclenché lorsque le formulaire est affiché pour la première fois. Quel est l'en-tête de la deuxième requête? –