PHP $ _SESSION ['']仅适用于某些页面

时间:2014-06-05 02:30:22

标签: php session session-variables

我想我已经把事情做好了。但是$ _SESSION变量在某些页面上加载正常,而在其他页面上则没有。只有当我重新安排目录以使URL更整洁时才会出现问题。即/account.php成为/account/index.php。所有页面都设置为在开始时加载此代码:

ob_start();
ini_set('display_errors',8191);
session_set_cookie_params(1800, "./" , "www.example.com", true, true);
session_save_path("/home/users/web/example/writeable-directory/");
session_start();
echo($_SESSION['username']);

大多数工作正常,但有两页没有。

当我使用以下代码时,它将在所有页面上回显test。

ob_start();
ini_set('display_errors',8191);
session_set_cookie_params(1800, "./" , "www.example.com", true, true);
session_save_path("/home/users/web/example/writeable-directory/");
session_start();
$_SESSION['username'] = "test";
echo($_SESSION['username']);

2 个答案:

答案 0 :(得分:1)

结束需要更改

session_set_cookie_params(1800, "/home/users/web/example/unix-directory/" , "www.example.com", true, true);

感谢您的帮助:)

答案 1 :(得分:0)

在输出到浏览器之前使用session_start();。建议使用session_start()作为文件的第一行。

如果它仍无法正常工作,则可能无法设置正确的密钥。 检查输出。

<?
session_start();
echo '<pre>';
print_r($_SESSION);
echo '</pre>';