我很难让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']))
答案 0 :(得分:0)
<form action="confirm.php" method="post">
^^^^^^^^^^^^^^^^^^^^
您的表单已提交至confirm.php
,您应该在其中处理$_POST
并填写$_SESSION
值。相反,您试图在打印表单的同一页面中执行此操作,但这样做并不好,因为它不是表单数据提交的位置。