我有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。
如何纠正此问题,以便显示正确的输出。
答案 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>