【问题标题】:Session in While Loop PHPWhile 循环 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 中。

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

我该如何解决?

【问题讨论】:

  • 嗨,你能再解释一下吗,我猜你很着急。我们不是,但也许我们可以回答您的问题。

标签: php database session while-loop overwrite


【解决方案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 更新您尝试更改的行。

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

【讨论】:

  • @ΠαύλοςΚουναβης 很高兴我能帮上忙。
猜你喜欢
  • 2014-02-11
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
  • 2012-01-02
  • 2017-05-28
  • 2011-11-19
  • 2017-11-20
相关资源
最近更新 更多