gpt4 book ai didi

php - 根据单击的特定提交按钮的值更新列

转载 作者:行者123 更新时间:2023-11-30 22:59:31 24 4
gpt4 key购买 nike

我什至不太确定我应该怎么问这个问题,但我会继续尝试并尽可能地解释它 - 如果我说的任何内容没有意义,请告诉我.

我正在创建一个基于社区的网站,作为我自己的个人学习项目,作为该网站的一部分,用户将能够加入特定的“群组”——群组是用户可以讨论共同兴趣的地方等等。到目前为止,我创建了两个组来进行测试,我正在尝试根据用户点击的按钮将用户分配到其中一个组。

下面的代码在页面上显示有关群组的信息以及用于加入该特定群组的按钮。当然,当用户单击加入一个组时,它只是加入了第一个组,即使我单击第二个显示的按钮也是如此,因为我从 join_group 获取值,因为我只有一个名字。

我知道我的输入没有经过清理,但这是我稍后要离开的事情。

我需要做的是为 $_POST['join_group'] 做一些我认为的 foreach,但不完全确定如何去做。有什么想法吗?

显示组

foreach ($group_info as $key => $value) {
echo "<div>Group name: " . $value['group_name'] . "</div>";
echo "<div>Description: " . $value['description'] . "</div>";
echo "<div>Members: " . $value['group_size'] . "</div>";
echo "<form method='post'>";
echo "<input name='group_id' type='hidden' value='" . $value[0][$i] ."'>";
echo "<button name='join_group' class='btn btn-green'>Join Group</button>";
echo "</form>";

$i = $i++;
}

插入数据

if (isset($_POST['join_group'])) {

try {
$join_group = $db->prepare("INSERT INTO groups_members (group_id, username)
VALUES (:group_id, :username)
");
$join_group->bindParam(":username", $_SESSION['username']);
$join_group->bindParam(":group_id", $group_id);
$join_group->execute();

$update_members_number = $db->prepare("UPDATE groups
SET group_size = group_size + 1
WHERE id = :group_id
");
$update_members_number->bindParam("group_id", $group_id);
$update_members_number->execute();
}

catch (Exception $e) {
echo $e->getMessage();
}

最佳答案

代码中最有问题的问题是,在将 group_id 参数绑定(bind)到查询的地方,您没有使用 $_POST 数组,但可能将其设置为 null。试试这个:$join_group->bindParam(":group_id", $_POST['group_id']); 而不是这个 $join_group->bindParam(":group_id", $group_id) ;

除此之外,我个人喜欢显式设置表单属性,例如:

<form method='post' action='.'>

...和...

<button type='submit' name='join_group' class='btn btn-green'>Join Group</button>

希望对您有所帮助!

关于php - 根据单击的特定提交按钮的值更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24701939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com