While 循环 PHP 中的会话

Posted

技术标签:

【中文标题】While 循环 PHP 中的会话【英文标题】:Session in While Loop PHP 【发布时间】:2020-04-10 10:42:11 【问题描述】:
<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 循环显示我的数据库表

每一行都有ID/LENGTH/NAME/VALUE/INPUT/BUTTON

我从用户那里得到一个值,我想将它与同一行中的值相加,然后更新我的数据库表。

GET 方法/显示/SESSIONS 和更新已完成,但是当我填写输入字段时,结果保存在最后一个 id 中。

我知道我的代码覆盖了某些内容,但它无法理解我填写的输入内容。

我该如何解决?

【问题讨论】:

嗨,你能再解释一下吗,我猜你很着急。我们不是,但也许我们可以回答您的问题。 【参考方案1】:

不要以这种方式使用会话。添加单独的隐藏输入框,将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 更新您尝试更改的行。

如果需要,您仍然可以在处理提交的表单时设置会话值。

【讨论】:

@ΠαύλοςΚουναβης 很高兴我能帮上忙。

以上是关于While 循环 PHP 中的会话的主要内容,如果未能解决你的问题,请参考以下文章

如何将数组存储到php中的会话变量中

PHP:会话中的会话?

使用会话保存values in PHP

当 Rails 中的同一域上存在会话时,如何在 PHP 中创建会话?

AngularJS 和 PHP 应用程序中的会话

负载平衡集群中的 PHP 会话 - 怎么样?