A c'est plus simple, si file_1.php contientProblème avec la session de PHP dans Xampp
<?php
session_start();
$_SESSION["test_message"] = "Hello, world";
header("Location: http://localhost/file_2.php");
?>
et file_2.php contient
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body>
<?php
if (!(isset($_SESSION["test_message"])))
echo "Test message is not set";
else
echo $_SESSION["test_message"];
var_dump($_SESSION);
session_destroy();
?>
</body>
</html>
le résultat est Test message is not set
et un var_dump ($ _ SESSION) retourne null
- locally, with Xampp
. Cependant, si je télécharger ces mêmes fichiers sur un site Web hébergé payants, cela fonctionne et je vois
Hello, world
array
'test_message' => string 'Hello, world' (length=12)
Quand je regarde PHPinfo sous Xampp il montre Session Support enabled
. Qu'est-ce que je fais mal?
session_start(); en haut de file_2? Pourquoi pas le début de file_1? C'est là que la session commence et elle définit la variable de session que fiel_2 récupérera. – Mawg
Il doit être dans les deux scripts. session_start() n'initialise pas une nouvelle session, elle lance le mécanisme de gestion de session de php que vous devez faire (au moins) une fois dans chaque instance de php dans laquelle vous voulez utiliser les données de session. Nouvelle requête, nouvelle instance de php, new session_start(). – VolkerK
ok, deux d'entre vous le dites - j'ai +1 vous deux. MAIS cela ne fonctionne toujours pas – Mawg