我有两个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>