让SESSION在PHP中工作时遇到了困难。
我有一个表格,下面的动作:
<form action="confirm.php" method="post">
它有一个这样的按钮:
<button type="submit" id="submit">Proceed</button>
我所有的页面上都有session_start();
。在表单按钮之后,我有这样的代码:
<?php
if(!empty($_POST['submit']))
{
$_SESSION['name'] = $_POST['name'];
$_SESSION['address'] = $_POST['address'];
$_SESSION['strtnum'] = $_POST['strtnum'];
$_SESSION['height'] = $_POST['height'];
}
?>
在confirm.php上,我得到了这个:
<?php
print_r($_SESSION);
print_r($_POST);
?>
POST数组具有正确的值,但SESSION数组完全为空,根本没有变量或值。
我想帮助了解如何解决这个问题。
谢谢。
编辑:我确信代码实际上并没有到达if语句的内部。我在那里添加了一个回声来打印警报(是的,我用过),但它不起作用。所以我不能100%确定它是否进入if(!empty($_POST['submit']))
<form action="confirm.php" method="post">
^^^^^^^^^^^^^^^^^^^^
您的表单正在提交到confirm.php
,您应该在那里处理$_POST
并填写$_SESSION
值。相反,您试图在打印表单的同一页面中进行操作,但这没有什么好处,因为它不是表单数据提交到的位置。