使用$ _SESSION存储日期并将其传输到另一个php文件

时间:2014-09-18 05:52:41

标签: php session

我有2个PHP文件,我使用session来将变量(日期格式)传递给另一个PHP文件。这是php文件。

main.php

<!DOCTYPE html>
<html>

<?php
session_start();
$showDate = date("Y.m.d");
$_SESSION['storeDate'] = $showDate;
?>

<form action="insert.php" method="post">
<input type="submit" />
</form>

</body>
</html>

insert.php

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

session_destroy()
?>

当我点击提交按钮时,输出应该是日期($_SESSION['storeDate']),但我收到了错误:

  

注意:未定义的索引:storeDate。

如何纠正此问题,以便显示正确的输出。

3 个答案:

答案 0 :(得分:2)

将PHP代码放在页面顶部,特别是session_start();提到的

main.php

<?php
    session_start();
    $showDate = date("Y.m.d");
    $_SESSION['storeDate'] = $showDate;
?>
<!DOCTYPE html>
<html>
<form action="insert.php" method="post">
<input type="submit" />
</form>

</body>
</html>

insert.php

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

session_destroy()
?>

答案 1 :(得分:1)

刷新或重新加载页面后出现此错误。因为每次刷新页面。你通过

摧毁你的会话
session_destroy();

删除session_destroy();

而不是刷新或重新加载它将起作用。或者不要刷新或重新加载。

因为每次重新加载页面时。你在会话中破坏了价值。

答案 2 :(得分:1)

我已经测试了你的剧本,除了你所犯的小结构性错误,一切似乎都正常。更正了你的index.php:

<?php
session_start();
$showDate = date("Y.m.d");
$_SESSION['storeDate'] = $showDate;
echo $_SESSION['storeDate'];
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <form action="insert.php" method="post">
            <input type="submit" />
        </form>
    </body>
</html>