我使用以下PHP代码和HTML表单将"item_name"值传递到下载页面。
<?php
session_start();
$_SESSION['item_name']="item_name";
?>
...
<form action="download.php" method="post">
<input type="hidden" name="item_name" value="133076">
<input type="submit" value="download">
</form>
我在下载页面上收到并使用"item_name"值,如下所示。
<?php
session_start();
$item_name=$_POST["item_name"];
?>
所有这些都很好,但我有以下问题,我希望在这里解决。初次点击后,我想回到相同的html页面,如下所示:
<form action="" method="post">
然后使用JavaScript做一些事情,生成"download.php"的链接,然后就可以下载文件了。问题是,当我点击新生成的链接进入"download.php"时,
$_SESSION['item_name']="item_name";
已经丢失。那个么,我怎样才能保留这个Session变量以便在下载页面上使用它呢?谢谢
在您的download.php页面上,您需要将变量设置为会话变量:
<?php
session_start();
$_SESSION['item_name'] = $_POST["item_name"];
?>
通过执行以上操作,该变量将存储在PHP会话中,并且在调用session_start()
的任何位置都可用。
你现在的方式是:
<?php
session_start();
$item_name = $_POST["item_name"];
?>
这将使该变量仅在您的download.php页面中可用,而在其他任何地方都不可用。