使用会话在多个页面上传输变量

时间:2012-02-14 08:36:34

标签: php session

我想制作转换页,转发"网址"至。我有这个代码。自我解释。 !var表示没有给出一些var。网址是http://domain.com

之类的网址
session_start();
if (!$some_variable) {
  $data = "http://localhost/";
  $_SESSION['keks'] = $data;
  require("transition.php");
  exit();
}

transition.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Frameset</title>
</head>
<frameset rows="50%,50%">
  <frame src="above.php" name="Navigation">
  <frame src="http://www.domain.com" name="Daten">
  <noframes>
    <body>
      <p>Something</p>
    </body>
  </noframes>
</frameset>
</html>

above.php:

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>
    </title>
  </head>
  <body>
    <div style="text-align: right;"><a href="<?php echo $_SESSION['keks']; ?>">Continue</a> 
    </div>
  </body>
</html>

导致

<a href="">

为什么会这样?

2 个答案:

答案 0 :(得分:1)

最好提供完整的代码,而不是使用!var - 只需在此输入正确的变量,因为它不会让人感到困惑。其次,你在above.php中没有任何会话

未知档案:

<?php
session_start();
if (!isset($_SESSION['keks'])) {
    //header("Location: ".URL, true, 301);
    $_SESSION['keks'] = "http://localhost/";
    require("transition.php");
    exit();
}
?>

above.php

<?php
session_start();
?>
<html>
<head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title></title>
</head>
<body>
    <div style="text-align: right;">
        <a href="<?php echo $_SESSION['keks']; ?>">Continue</a> 
    </div>
</body>
</html>

答案 1 :(得分:0)

这应该有效:

session_start();
if (!isset($_SESSION['keks'])) {
   $data = 'URL';
   $_SESSION['keks'] = $data;
   require("transition.php");
   exit();
}

同样在above.php中你需要

<?php session_start(); ?>

获取变量。