While 循环中的会话 PHP
Session in While Loop PHP
<form action="includes/xxx.php" method="get">
<td><?php echo $row['id'];
$_SESSION['id'] = $row['id'];
?>
</td>
<td><?php echo $row['length']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['value'];
$_SESSION['value'] = $row['value'];
?>
</td>
<td><input type="text" name="value" placeholder="XXX"></td>
<td><button type="submit" name="submit" value="submit"> OK </button> </td>
</form>
在上面的代码中,我用 while 循环
显示我的数据库 table
每行有ID
/LENGTH
/NAME
/VALUE
/INPUT
/BUTTON
.
我从用户那里得到一个值,我想将它与同一行中的值相加,然后更新我的数据库 table。
GET 方法/显示/SESSIONS 和更新已完成,但是当我填写输入字段时,结果保存在最后一个 id 中。
我知道我的代码覆盖了一些东西,它无法理解我填写的输入内容。
我该如何解决?
不要以这种方式使用会话。添加一个单独的隐藏输入框,将ID发送给服务器进行处理。
<td>
<input type="hidden" name="row_id" value="<?php echo $row['id']; ?>">
<input type="text" name="value" placeholder="XXX">
</td>
现在当您提交表单时,您将有 2 个值,$_GET['row_id']
和 $_GET['value']
。使用 row_id
更新您要更改的行。
如果需要,您仍然可以在处理提交的表单时设置会话值。
<form action="includes/xxx.php" method="get">
<td><?php echo $row['id'];
$_SESSION['id'] = $row['id'];
?>
</td>
<td><?php echo $row['length']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['value'];
$_SESSION['value'] = $row['value'];
?>
</td>
<td><input type="text" name="value" placeholder="XXX"></td>
<td><button type="submit" name="submit" value="submit"> OK </button> </td>
</form>
在上面的代码中,我用 while 循环
显示我的数据库 table每行有ID
/LENGTH
/NAME
/VALUE
/INPUT
/BUTTON
.
我从用户那里得到一个值,我想将它与同一行中的值相加,然后更新我的数据库 table。
GET 方法/显示/SESSIONS 和更新已完成,但是当我填写输入字段时,结果保存在最后一个 id 中。
我知道我的代码覆盖了一些东西,它无法理解我填写的输入内容。
我该如何解决?
不要以这种方式使用会话。添加一个单独的隐藏输入框,将ID发送给服务器进行处理。
<td>
<input type="hidden" name="row_id" value="<?php echo $row['id']; ?>">
<input type="text" name="value" placeholder="XXX">
</td>
现在当您提交表单时,您将有 2 个值,$_GET['row_id']
和 $_GET['value']
。使用 row_id
更新您要更改的行。
如果需要,您仍然可以在处理提交的表单时设置会话值。