使用重定向跨页面传递php变量

时间:2012-06-03 13:17:30

标签: php

所以,我浏览了不同的帖子和其他资源,但仍然无法使其发挥作用。 似乎基本和普通,但我迷路了。 这是我的代码。 页面“test_start.php”:

<html>
<head>
<title>Test</title>
</head>
<body>
    <p>Click <a href="test_script.php">here</a></p>
</body>
</html>

页面“test_script.php”:

<?php
    session_start();
    $_SESSION['passed']="My text!";
    header("Location: test_ultima.php");
?>

页面“test_ultima.php”:

<?php session_start(); ?>
<html>
<head>
    <title>Something</title>
</head>
<body>
    <p>This text shows, so redirect worked!</p>
    <?php
        echo "<p>Result isset: ".isset($_SESSION['passed'])."</p>";
        echo "<p>I passed:".$_SESSION['passed']."</p>";
    ?>
</body>
</html>

当我点击链接时,我会看到以下内容:

此文字显示,因此重定向工作!
结果如下:
我通过了:

我做错了什么? 如果可以的话,请详细说明为什么以及如何运作......

添加了注释:第一个文件是.php,因为最后它还会包含一些PHP代码......这显然是一个例子,首先使它工作并理解它是如何工作的..

1 个答案:

答案 0 :(得分:1)

来自OP的评论:

  

session_start()[function.session-start]:open(C:\ PHP \ sessions \ sess_87ruc3n1gb0e5ivlsfurgr0nr0,O_RDWR)失败:C:\ Inetpub \ wwwroot \ missione-berna.ch中没有这样的文件或目录(2)第3行\ test_ultima.php

这意味着PHP尝试编写会话的目录不存在,或者它只是没有在此目录中读/写的权限。

因此,您首先需要检查目录是否确实存在。如果存在,则应检查该目录上的apache(或其他Web服务)用户的权限。