Php 当窗体执行操作时,My$\u POST变量将变为NULL

Php 当窗体执行操作时,My$\u POST变量将变为NULL,php,html,mysql,pdo,Php,Html,Mysql,Pdo,我正在ticketqueue.php中制作HTML表格,因此当单击Assign mesubmit按钮时,它会将用户带到ticketinfo.php中,我使用$\u POST将行值带入一些变量中。表代码如下所示: //ticketqueue.php echo "<form method='post' action='ticketinfo.php'> <tr id='myrow'> <td>&l

我正在
ticketqueue.php
中制作HTML表格,因此当单击
Assign me
submit按钮时,它会将用户带到
ticketinfo.php
中,我使用$\u POST将行值带入一些变量中。表代码如下所示:

//ticketqueue.php
echo "<form method='post' action='ticketinfo.php'>
              <tr id='myrow'>
                <td><input name='id' value='$id' readonly></td>
                <td><input name='subject' value='$subject' readonly></td>
                <td><input name='department' value='$department' readonly></td>
                <td><input name='category' value='$categoryview' readonly></td>
                <td>$status</td>
                <td><input type='submit' name='assign' value='Assign me'></td>
                <td><input type='hidden' name='ticketdepart' value='$departmentID' readonly></td>
              </tr>
            </form>";

我解决了我的问题,在第一个表单中使用JavaScript,当单击表中的第一个单元格的行时,从该单元格中获取ticket
id
,并将其值传递到表单中的隐藏HTML输入中,然后使用$\u POST将该值传递到$\u会话变量中,以便在下一页中查询ticket数据。第一种形式的代码:

echo "<tr>
              <td>$id</td>
              <td>$subject</td>
              <td>$department</td>
              <td>$categoryview</td>
              <td>$status</td>
              <td><input type='submit' name='assign' value='Claim'></td>
            </tr>";

echo "</table>
  <input type='hidden' id='valueID' name='ticketID'>
  <input type='hidden' id='valuedepart' name='ticketdepart'>
  </form>
  <script>
    var table = document.getElementById('table'),rIndex;
    for(var i = 0; i < table.rows.length; i++){
        table.rows[i].onclick = function()
        {
          rIndex = this.rowIndex;
          document.getElementById('valueID').value = this.cells[0].innerHTML;
          document.getElementById('valuedepart').value = this.cells[2].innerHTML;
        }
    }
  </script>
  </body>";

$\u POST值只有在从提交
ticketqueue.php
启动
ticketinfo.php
时才会存在。当您提交
ticketinfo.php
表单时,它们不会保持存在,因为该表单没有输入字段,因此该表单不会在$\u POST中发送任何内容。那么,我如何解决这个问题?我们不是这样吗?如果要将值传输到下一个请求,则需要将该数据放入表单元素中(在您的情况下,隐藏的输入似乎是最合理的)。您可以将要保存在中的数据放入第二个表单中。你可以把你想保存的数据放在session@El_Vanja我们就这么做了,我想我在什么地方认出了它
echo "<tr>
              <td>$id</td>
              <td>$subject</td>
              <td>$department</td>
              <td>$categoryview</td>
              <td>$status</td>
              <td><input type='submit' name='assign' value='Claim'></td>
            </tr>";

echo "</table>
  <input type='hidden' id='valueID' name='ticketID'>
  <input type='hidden' id='valuedepart' name='ticketdepart'>
  </form>
  <script>
    var table = document.getElementById('table'),rIndex;
    for(var i = 0; i < table.rows.length; i++){
        table.rows[i].onclick = function()
        {
          rIndex = this.rowIndex;
          document.getElementById('valueID').value = this.cells[0].innerHTML;
          document.getElementById('valuedepart').value = this.cells[2].innerHTML;
        }
    }
  </script>
  </body>";
if(isset($_POST["assign"])){
  $_SESSION["ticketID"] = $_POST["ticketID"];
  $_SESSION["ticketdepart"] = $_POST["ticketdepart"];
  header("location: ticketinfo.php");
  exit;
}