首页 > 解决方案 > 将获取值结转形成的问题

问题描述

我正在关注的在线教程遇到了一些问题。它应该是一个简单的变量赋值。我不需要显示代码,它更像是一个逻辑问题,我会尽力解释。

我有一个在表格中显示博客文章列表的页面。列如下

post id --- author --- title --- category --- status --- image --- tags --- comments --- date ---

每行右侧都有编辑和删除按钮。问题在于编辑功能。当我单击编辑时,它会将 $_GET 变量“post_id”发送到另一个页面。此页面只是一个表单,其中包含所选博客文章的所有相关信息的字段。数据被加载到每个表单字段中,因此当页面加载时,所有相关的“要更新”的数据都在那里。更新用户只需删除当前字段内容,输入新值并点击编辑。

这就是事情误入歧途的地方。所有数据都加载到每个表单输入字段中,不包括帖子 ID。当用户在表单上点击输入时,数据被发送到一个函数,该函数根据条件“WHERE post_id = $_GET[“post_id”]”更新数据。这是用户点击编辑时从原始帖子表页面发送的值。当用户单击更新表单上的输入时,如何将该 id 带到更新脚本(发送到不同的页面)?

我尝试了以下只是为了看看它是否被接收。

form data recieved then

if(isset($_POST["edit_post"])){     //the name of the update button
    $post_id = $_GET["p_id"];
    echo $post_id;
}

我知道我可以为 id 使用另一个输入字段,但本教程没有这样做。我尝试使用上述测试直接从教程中复制,但它没有回显任何内容,感谢您花时间阅读所有这些。我很感激你的回复。

标签: phpforms

解决方案


如果您不想为 使用其他输入,则$_GET["p_id"]可以将其连接到action表单的属性,如下所示:

<?php
$p_id = htmlspecialchars($_GET['p_id'], ENT_QUOTES);
?>
<form action="update.php?p_id=<?php echo $p_id ; ?>" method="POST">
// inputs
</form>

推荐阅读