需要关于会话的帮助,不确定哪里出错。
第1页
<?php session_start()?>
<html>
<head>
</head>
<body>
<?php
$_SESSION['name'] = 'John';
Print_r ($_SESSION);
?>
</body>
</html>
第2页
<?php session_start()?>
<html>
<head>
</head>
<body>
<?php
Print_r ($_SESSION);
?>
</body>
</html>
第1页结果 数组([name] =&gt; John)
结果 Array()
我确实有session_start();两页都有
试过IE和Firefox,但没有工作
建议请和谢谢:))
答案 0 :(得分:1)
正如lanzz所述,您需要在两个页面中调用session_start()
或在session.auto_start
上将php.ini
设置为1。
编辑后
你似乎在php开始标记(<?php
)之前有一些空格。它必须是第一个被评估的东西。如果不是,则无法使用会话数据发送标头,因此它们不起作用。它应该发出警告,因此您可能已禁用它们。要修复它,请按如下所示编写代码。
<?php session_start()?>
<html>
<head>
</head>
<body>
<?php
$_SESSION['name'] = 'John';
Print_r ($_SESSION);
?>
</body>
</html>
如果它们仍然不起作用,您可能将文件设为UTF-8 有BOM ,则应禁用BOM。怎么做取决于编辑。
答案 1 :(得分:0)
您必须在所有页面上调用session_start()
答案 2 :(得分:0)
<?php print_r($_COOKIE);?>
。并确保你有PHPSESSID
cookie。<?php echo phpinfo(); ?>
并确保您的apache用户可以写session.save_path
。<强>更新强>
很明显,您的浏览器没有传递所需的cookie。你可以双倍确认你的phpinfosession.name
是PHPSESSID
吗?
要检查目录是否可写,只需运行带有以下脚本的php文件:
<?php
$fp = fopen('D:\xampp\tmp\test.txt', 'w');
fwrite($fp, 'test');
fclose($fp);
?>