While循环PHP中的会话

问题描述 投票:-1回答:1
<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

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

获取方法/显示/会话和更新已完成,但是当我填写输入字段时,结果保存在最后一个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更新您要更改的行。

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

当然,您要重写,换句话说,您正在每个循环上更新$ _SESSION ['value']的属性。 https://www.php.net/manual/en/reserved.variables.session.php

您可以做类似的事情

$_SESSION[$your_custom_name] = $row[...];
php database session while-loop overwrite
1个回答
0
投票

请勿以这种方式使用会话。添加一个单独的隐藏输入框,以将ID发送到服务器进行处理。


-1
投票

当然,您要重写,换句话说,您正在每个循环上更新$ _SESSION ['value']的属性。 https://www.php.net/manual/en/reserved.variables.session.php

© www.soinside.com 2019 - 2024. All rights reserved.