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


Using $_SESSION to store date and transfer it to another php file

我有两个PHP文件,我使用会话将变量(日期格式)传递给另一个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。

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

将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()
?>

刷新或重新加载页面后会出现此错误。因为每次刷新页面时。你通过破坏了你的会话

session_destroy();

删除session_destroy();

然后刷新或重新加载它就会工作。或者不刷新或重新加载。

因为每次重新加载页面时。您破坏了会话中的值。

我已经测试了您的脚本,除了您犯的一些小的结构错误外,一切似乎都正常。更正了你的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>