SESSION数组中没有任何内容


SESSION array has nothing in it when it should

让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值。相反,您试图在打印表单的同一页面中进行操作,但这没有什么好处,因为它不是表单数据提交到的位置。