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


Using sessions to transport a variable over multiple pages

我想制作一个转换页面,将"URL"转发到。我有这样的代码。不言自明!var意味着没有给出一些var。URL有点像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="">

为什么会这样?

最好给出完整的代码,而不是使用!var——只需在这里输入正确的变量,这样就不那么令人困惑了。其次,您在above.php 中没有任何会话

未知文件:

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

高于.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>

这应该有效:

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

同样在above.php中,您需要

<?php session_start(); ?>

获取变量。