PHP$_会话[';';]仅在某些页面上工作
我想我把一切都安排好了。但是$\u会话变量在某些页面上加载良好,而在其他页面上则完全不加载。问题只是在我重新排列目录以使URL更整洁时才出现的。Ie/account.php变成了/account/index.php。所有页面都设置为在开始时加载此代码:PHP$_会话[';';]仅在某些页面上工作,php,session,session-variables,Php,Session,Session Variables,我想我把一切都安排好了。但是$\u会话变量在某些页面上加载良好,而在其他页面上则完全不加载。问题只是在我重新排列目录以使URL更整洁时才出现的。Ie/account.php变成了/account/index.php。所有页面都设置为在开始时加载此代码: ob_start(); ini_set('display_errors',8191); session_set_cookie_params(1800, "./" , "www.example.com", true, true); session_
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']);
使用session_start()在任何输出到浏览器之前执行代码>。建议使用session\u start()
作为文件的第一行
如果仍不起作用,则可能是您没有设置正确的键。
检查此文件的输出
<?
session_start();
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
最终需要更改
感谢您的帮助:)在记事本或其他编辑器中,将您的PHP文件另存为UTF-8
。或者复制工作的文件并移动到code@meda当前在N++中设置为“无BOM的UTF-8”,但最近才开始出现问题。如前所述,我们最近获得了SSL并更改了目录结构。在我得到SSL后工作正常请注意我下面的答案-1误导,在任何输出发送到浏览器之前必须简单地调用该函数,并不是说它必须是第一行。
session_set_cookie_params(1800, "/home/users/web/example/unix-directory/" , "www.example.com", true, true);