帮助我进行Php会话与Header重定向?

时间:2010-03-31 08:56:59

标签: php

我有以下几页:

page1.php中

<?php 
if (isset($_GET['link'])) { 
session_start(); 
$_session['myvariable'] = 'Hello World'; 
header('Location: http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['REQUEST_URI']) . '/page2.php'); 
exit; 
} 
?> 
<a href="<?php print $_SERVER['REQUEST_URI'] . '?link=yes';?>">Click Here</a>

使page2.php

<?php 
print 'Here is page two, and my session variable: '; 
session_start(); 
print $_session['myvariable']; //This line could not output.
exit; 
?>

当我尝试输出$_session['myvariable']时,我没有得到结果hello world消息。

我找不到解决方法来修复它?

3 个答案:

答案 0 :(得分:4)

$_SESSION不是$_session。大写。

脚本顶部的

error_reporting(E_ALL);总是有助于

答案 1 :(得分:1)

在发送任何输出之前必须调用

session_start(),因为它依赖于cookie来存储ID。

$ _SESSION也是大写的

答案 2 :(得分:1)

<?php 
session_start(); 
echo $_SESSION['myvariable'];

echo 'Here is page two, and my session variable: '; 
exit;
?>

HTTP标头必须是第一个输出,因此session_start()必须位于代码的顶部。

其他说明: * $ _SESSION应该是大写的。 * Echo&gt;打印