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;
}